0

我正在尝试进行返回 libc 攻击。问题是我需要堆栈中环境变量的地址作为小工具的参数。我用python尝试了以下代码。但似乎它给出了一个偏移量或其他东西?不确定。

r=process('/rop_level', env={'MYENV': 'cat /flag'})
os.environ.get('MYENV')
h = os.environ.get('MYENV')
hex(id(h))

它给出的结果是 0x9d4380。我有点需要像 0x7ffe 这样的堆栈地址.....

CTF 挑战位于需要 ssh 的容器中,因此我可能无法使用 gdb。

4

1 回答 1

0

如您所知,环境变量在堆栈上。所以你需要通过某种方式泄露堆栈地址。您应该通过本地调试计算泄漏的堆栈地址与环境变量之间的偏移量。然后你计算环境变量的地址。

于 2020-01-05T09:23:50.277 回答