Py学习  »  Python

从Python子进程运行C程序与在Bash中运行C程序时的不同结果

remission-jitters-delay • 3 年前 • 982 次点击  

我有一个字符串/参数要传递给C程序。这是一个字符串格式的漏洞。

'\xb2\x33\02\x08%13x%2$n' 

然而,如果我通过执行以下操作从Python调用C程序,似乎会表现出不同的行为

subprocess.Popen(["env", "-i", "./practice", '\xb2\x33\02\x08%13x%2$n'])

./practice '\xb2\x33\02\x08%13x%2$n'

不同之处在于,通过子流程调用脚本时,字符串利用攻击的效果与预期一致,但在我通过CLI调用脚本时则不然。

原因可能是什么?谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129399
 
982 次点击  
文章 [ 1 ]  |  最新文章 3 年前