Hallo,
ich möchte mich mit dem Thema Exploits etwas beschäftigen. Dazu fange ich gerade mit dem Bufferoverflow an.
Das ist meine tolle Appilikation. Ich dachte mir jetzt, wenn ich mehr in Passwort reinschreibe, als reinpasst dann sollte ich ja den "Schutz" sprengen können.
Damit kompiliere ich
Programm bei der Ausführung...
Jetzt bin ich allerdings überfragt, wie ich jetzt es hinkriege das ich das Programm zum überlaufen kreige.
Danke für eure Hilfe im Vorraus
ich möchte mich mit dem Thema Exploits etwas beschäftigen. Dazu fange ich gerade mit dem Bufferoverflow an.
Code:
#include <string.h>
#include <stdio.h>
#define PASSWORD "test"
int main(int argc, char * argv[])
{
int ok = 0;
char password[10];
printf("Hallo geben Sie hier ihr Passwort ein: ");
scanf("%s",password);
if(!strcmp(password,PASSWORD))
{
printf("Hacked...");
}
else
{
printf("Error..");
}
}
Das ist meine tolle Appilikation. Ich dachte mir jetzt, wenn ich mehr in Passwort reinschreibe, als reinpasst dann sollte ich ja den "Schutz" sprengen können.
Damit kompiliere ich
Code:
gcc overflow.c -o prog -fno-stack-protector
Programm bei der Ausführung...
Code:
xpecs@master:/media/truecrypt2/Hackits/Software/Simple-Overflow$ ./Prog
Hallo geben Sie hier ihr Passwort ein: test
Hacked...xpecs@master:/media/truecrypt2/Hackits/Software/Simple-Overflow$ ./Prog
Hallo geben Sie hier ihr Passwort ein: 1233123123123123123123123123123123123
Segmentation fault
xpecs@master:/media/truecrypt2/Hackits/Software/Simple-Overflow$
Jetzt bin ich allerdings überfragt, wie ich jetzt es hinkriege das ich das Programm zum überlaufen kreige.
Danke für eure Hilfe im Vorraus