攻防世界 hello_pwn WriteUp

WriteUp

题目信息

来源:攻防世界
名称:hello_pwn
分类:Pwn
描述:pwn!,segment fault!菜鸡陷入了深思

题目链接: https://adworld.xctf.org.cn/challenges/list

解题思路

首先使用DIE对文件进行查壳,发现这是一个无壳的64位ELF文件,所以使用64位IDA对该文件进行反汇编。

接着进入其中的main函数,得到如下伪代码(为方便阅读代码,已修改部分变量名):

仔细分析代码可以发现,

在bss段中,ans的地址在in[4](0为初始下标)的位置,而上文伪代码中有read函数,从而修改in的内容。

再查看sub_400686函数,发现其中有输出flag文件的指令,显然这就是我们在远程靶机得到flag的方式。

于是,我们考虑payload时,先填充四个任意字符,然后再加上“1853186401”。

靶机地址如下:

最终payload如下:

结果如下:

使用工具

DIE
IDA
Kali
Pwntools(Python插件,请自行下载)

工具链接: https://pan.baidu.com/s/1dzK8gcFjYEvnj_aA0UjBeQ?pwd=ry2d 提取码: ry2d

Flag

cyberpeace{cfd94892d06b6086feaf167f703acf0c}

总结

通过本次题目学习到:
Payload编写
修改内存地址的值

posted @ 2025-03-17 20:22  Binary-0  阅读(184)  评论(0)    收藏  举报