Perl 不打印 0x00

Perl 不打印 0x00

我想尝试使用 NOP SLED 技术。我将 sled 和 shellcode 放入环境变量中,并获取其地址。
因此,我想执行易受攻击的程序,并重复使用此地址作为参数,问题是它包含 0(零):0x00007fffffffe550

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

Perl 不打印零,并且堆栈中的寻址变得非常混乱。

答案1

这对于 perl 来说不是问题,因为它显然打印的是 0x00:

perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"' | hd
00000000  50 e5 ff ff ff 7f 00 00                           |P.......|
00000008

相关内容