Hackerboard WikiHaboBlog

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

BOF Problem - Stackoverflow funzt nicht ._.

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 ...

Antwort
Alt 09.12.09, 21:01   #1 (permalink)
 
Registriert seit: 09.12.09
ElBoxo Leistung: Facit NTK
Likes: 0
Standard BOF Problem - Stackoverflow funzt nicht ._.


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   
#include <stdio.h>
#include <stdlib.h>

void copy(char *string){
char vuln[8];
strcpy(vuln,string);
}

void exploit(){
printf("exploited");
}

int main(int argc, char *argv[]){

if(argc > 1){
copy(argv[1]);
}

}




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
ElBoxo ist offline   Mit Zitat antworten
Alt 10.12.09, 01:59   #2 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard

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.
Elderan ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 10.12.09, 03:45   #3 (permalink)
Themenstarter
 
Registriert seit: 09.12.09
ElBoxo Leistung: Facit NTK
Likes: 0
Standard

Vielen Dank,

das werde ich mal machen.
Erst muss ich mich noch mit smbclient rumschlagen.
ElBoxo ist offline   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » BOF Problem - Stackoverflow funzt nicht ._.
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61