Perl druckt kein 0x00

432
java_noob

Ich wollte mit der NOP SLED-Technik experimentieren. Ich bekam den Schlitten und den Shellcode in eine Umgebungsvariable und ich bekam seine Adresse.
Ich wollte also das verwundbare Programm ausführen und als Argument diese Adresse wiederholt verwenden, besteht das Problem darin, dass es Nullen (Nullen) enthält:0x00007fffffffe550

./program_vuln $(perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"') 

Perl druckt die Nullen nicht und die Adressierung im Stapel wurde so durcheinander.

1
Dies scheint eine Perl-Use-Frage und keine InfoSec-Frage zu sein. schroeder vor 8 Jahren 1
Perl in infoSec verwendet :) vor 8 Jahren 0
Aber auch ein Perl-Experte mit 0 InfoSec-Kenntnissen könnte diese Frage beantworten, nein? schroeder vor 8 Jahren 0
Während die Anwendung InfoSec ist, ist das zugrunde liegende Problem kein InfoSec-Problem, sondern ein Perl-Problem. S.L. Barth vor 8 Jahren 0
Sind Sie sicher, dass dies zu Super User gehört? Bei dieser Art von Fragen geht es um das Programmieren, und wahrscheinlich gehört es auf [so]. bwDraco vor 8 Jahren 0
Problem gelöst von Steffen Ullrich, während Sie darüber sprechen, ob es der richtige Ort ist, um diese Frage zu stellen java_noob vor 8 Jahren 0

1 Antwort auf die Frage

1
Steffen Ullrich

Dies ist kein Problem mit Perl, da offensichtlich die 0x00-Datei gedruckt wird:

perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"' | hd 00000000 50 e5 ff ff ff 7f 00 00 |P.......| 00000008 
Was funktionierte hier wie ein Zauber? Der Stapel ist nicht mehr durcheinander? ott-- vor 8 Jahren 0