我发现堆栈缓冲区溢出。
目前,情况是这样的:
- NX/DEP 禁用
- 启用 ASLR
- 不是 PIE
我能够覆盖返回地址并跳转到 PLT 部分。
我的问题是由于空字节,我只能复制数据直到返回地址,因此我无法跳转到堆栈中的shellcode。二进制开始于0x00090000
,因此执行 ROP gadget 是一个问题,因为我只能复制一个地址直到返回地址。
此外,我的二进制文件包含一个我可以跳转到的系统调用,但在这种情况下,我需要将字符串参数的地址放在 R0 中,由于 ASLR,这是不可能的。我还可以覆盖 4 个寄存器。
有没有人知道如何在不泄漏地址的情况下绕过ASLR?当前架构:ARM。