ROP
这题主要就是在 0x400560 藏了一个0F 0A
的 opcode, 对应的 x64 指令是syscall
, 找到这个就好办了。
然后构造 ROP, 一开始找不到控制 rax 的 gadgets, 搜了一下发现可以利用read()
的返回值。具体的构造就是时间问题了,x64 的 ROP 可以看这篇文章1。
exp-rop.py
SROP
结果 flag 里提到 SROP 的解法,我就又写了个 SROP. 简单的 SROP 介绍可以看这篇文章2。
exp-srop.py
Index