攻防世界 level0 WriteUp

WriteUp

题目信息

来源:攻防世界
名称:level0
分类:Pwn
描述:菜鸡了解了什么是溢出,他相信自己能得到shell

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

解题思路

首先使用DIE对文件进行查壳,发现这是一个无壳的64位ELF文件。

于是使用64位IDA对文件进行反汇编,得到如下伪代码;

深入查看vulnerable_function函数,得到如下伪代码:

发现buf长度为128,而read允许读入的数据长度为512,由此可以考虑栈溢出漏洞。

继续查看“/bin/sh”的地址:

查看该指令的交叉引用

跳转到对应位置:

得到system("/bin/sh")指令地址:

现在所有要素都集齐了,可以编写payload了。

为文件赋予可执行权限:

靶机地址:

最终payload如下:

结果如下:

使用工具

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

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

Flag

cyberpeace{8b5f97d7741734d16a5c0c2b88695864}

总结

通过本次题目学习到:
Payload编写
栈溢出

posted @ 2025-03-17 21:12  Binary-0  阅读(121)  评论(0)    收藏  举报