| (In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene. |
Diskussion: BOF Problem - Stackoverflow funzt nicht ._. im Forum (In)security allgemein, in der Kategorie Security Area; Hi, habe ein kleines Problem, dass ich mir nicht erklären kann. Also ich habe ne Funktion main, copy mit dem ...
![]() |
| | #1 (permalink) |
| Registriert seit: 09.12.09 ![]() Likes: 0 | Hi, habe ein kleines Problem, dass ich mir nicht erklären kann. Also ich habe ne Funktion main, copy mit dem typischen strcpy und exploit, nun muss man also über das array in copy() schreiben bis zum Return Instruction Pointer und diesen dann mit der Adresse von exploit() überschreiben. Hier zur Übersicht der Sourcecode von vuln.c vuln.c ![]() müsste also folgendermaßen gehen: ./vuln `perl -e'{print "AAAAAAAAAAAAAAAAAAAA"; print "\x0e\x84\x04\x08";}'` aber es kommt einfach nur ein "Speicherzugriffsfehler ohne die die Konsolenausgabe in exploit() Was soll ich nun machen? ._. mfg, Blackbox |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | Hallo, 1. Schritt: Core Dump erlauben. ulimit -s unlimited So wird der Zustand des Prozesses in 'core' geschrieben wenn dieser crasht. 2. Schritt: Führ dein Exploit aus. Nun sollte dort etwas wie Speicherzugriff (Core Dump erstellt) stehen und du siehst eine 'core' Datei im selbigen Ordner 3. Lade das core mittels: gdb vuln core Mit 'i r' bekommst du angezeigt, was die Register zum Zeitpunkt des Crahses enthalten haben. Schau nach eip (instruction pointer). Dieser wird wahrscheinlich nicht die Adresse von exploit() enthalten (diese bekommst du, per 'gdb vuln', 'break main', 'run', 'print exploit'). Achja: Vergiss nicht, den Stack von dem Programm executable zu machen mittels execstac -s vuln. Man kann ansonsten später viel Zeit vertrödeln, wenn man versucht eingeschleusten Code auf dem Stack auszuführen. |
| | |
![]() |
| | |
| |
| Themen-Optionen | |
| Ansicht | |
| |