Hackerboard WikiHaboBlog

[HaBo]

 
Applikationen Probleme mit Anwendungsprogrammen aller Art gehören hier hin.

Buffer-Overflow bei Beispiel-Programm

Diskussion: Buffer-Overflow bei Beispiel-Programm im Forum Applikationen, in der Kategorie Software Home; Guten Tag. Ich probiere gerade bei einem Beispiel Programm aus diesem Buch, per Perl die Rücksprungadresse umzuschreiben. Code: #include <stdio.h> ...

Antwort
Alt 10.01.10, 11:38   #1 (permalink)
 
Registriert seit: 25.12.09
@night@ Leistung: Z3
Likes: 0
Standard Buffer-Overflow bei Beispiel-Programm


Guten Tag.
Ich probiere gerade bei einem Beispiel Programm aus diesem Buch, per Perl die Rücksprungadresse umzuschreiben.

Code:
#include <stdio.h>
#include <string.h>

int check_authentication(char *password)
{
int auth_flag = 0;
char password_buffer[16];
if (strcmp(password_buffer, "pass")==0)
{
auth_flag = 1;
}
return auth_flag;
}
int main(int argc, char *argv[])
{
if (check_authentication(argv[1]))
{
printf("====ACESS GRANTED======\n");
}
else
{
printf("Acess denied\n");
}
}
Leider wurde die Beispiel-CD aus dem Buch zerkratzt, weshalb ich mir jetzt Ubuntu heruntergeladen habe... Dadurch kann ich die beispiele nich mehr 1 zu 1 nachempfinden...
back 2 Topic:
Mein Ziel: Die Rücksprungadresse von der Funktion check_authentication() so umschreiben, dass es automatich bei "ACESS GRANTED" landet...
Zuerst untersuchte ich den Speicher und stellt fest dass er ungefähr so aufgebaut ist:
0x05050605 0x05050605 0x05050605 0x05050605 <--password_buffer
0xDFF45667 0xDFF45667 0xDFF45667 0xDFF45667 <-- denke mal, dass das der Saved Frame Pointer ist
0x12345678 <----Rücksprungadresse

Meine Ziel Adresse ist z.b. 0xdeadbeef
Jetzt versuchte ich die Rücksprungadresse per Perl umzuschreiben...

programm $(perl -e 'print "A"x32 . "\xef\xbe\xad\xde"')

Da gab es den Fehler "Segmentation fault".
Meine Vermutung--->der framepointer ist doch wichtiger, als das man ihn einfach überschreiben kann^^
Also:
programm $(perl -e 'print "\x90\x90\x90\x90\"x2 . "\xef\xbe\xad\xde"')

Leider hab ich es auch net geschafft, einen Teil des Stackes mit NOP-Blöcken zu überschreiben-.-
Allerdings sind all die Adressen gerade von mir frei ausgedacht... Ich hab Ubuntu nicht installiert, weshalb ich gerade kein Zugriff auf die beispiele habe...
Ausserdem habe ich probleme dabei, bei GDB den "Intel"-Anzeigemodus einzustellen. (wie er mir den Assem-Code anzeigt)

im Buch steht, man stellt es mit "set dis intel" um... bei mir geht das iwie net^^
Er stellt mir den Assembler-Code trotzdem mit Prozentzeichen und Klammern dar...
mfg
@night@
PS: ich hoffe dass, das der richtige Bereich ist...
@night@ ist offline   Mit Zitat antworten
Alt 10.01.10, 13:18   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteronbitmuncher Leistung: Opteron
Likes: 371
Standard

Ubuntu nutzt diverse Schutzmechanismen wie Stack Randomization um den Stack zu schützen, weswegen solche einfachen Beispiele darauf zumeist nicht mehr funktionieren. Nimm dir zum Üben am Besten ein möglichst altes Linux, bei dem solche Stackschutz-Mechanismen noch nicht drin waren (z.B. SuSE <=8.x, Redhat <=6.x o.ä., Debian <=3.x).
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 10.01.10, 13:44   #3 (permalink)
Themenstarter
 
Registriert seit: 25.12.09
@night@ Leistung: Z3
Likes: 0
Standard

srry, aber ich finde absolut keine download-links... Alle FTP oder HTTP-Downloads verweisen auf ein Objekt, dass nicht mehr vorhanden ist...
mfg
@night@
@night@ ist offline   Mit Zitat antworten
Alt 10.01.10, 17:52   #4 (permalink)
 
Registriert seit: 25.11.05
menace Leistung: Facit NTK
Likes: 0
Standard

Hol dir "damn vulnerable linux". Das ist extra dazu da, sowas zu üben. Da sind vermutlich eine Stackprotectoren eingebaut.
menace ist offline   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Software Home » Applikationen » Buffer-Overflow bei Beispiel-Programm
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