Perl не печатает 0x00
Я хотел поэкспериментировать с техникой NOP SLED. Я получил сани и шеллкод в переменную окружения и получил его адрес.
Поэтому я хотел выполнить уязвимую программу и в качестве аргумента использовать этот адрес повторно, проблема в том, что он содержит 0s (нули): 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