WriteUp
题目信息
来源:攻防世界
名称:level2
分类:Pwn
描述:菜鸡请教大神如何获得flag,大神告诉他‘使用面向返回的编程(ROP)就可以了’
题目链接: https://adworld.xctf.org.cn/challenges/list
解题思路
首先使用DIE对文件进行查壳,发现这是一个无壳的32位ELF文件。
所以直接使用32位IDA对文件进行反汇编,得到伪代码如下:
仔细查看vulnerable_function函数,发现这是一个很典型的栈溢出漏洞。
然后我们查看“/bin/sh”的地址:
然后再找到system函数的地址:
现在所有要素已经具备,可以直接编写payload了。
靶机地址:
为文件赋予可执行权限:
最终payload如下:
结果如下:
使用工具
工具链接: https://pan.baidu.com/s/1dzK8gcFjYEvnj_aA0UjBeQ?pwd=ry2d 提取码: ry2d
Flag
cyberpeace{df5f212a799cda81d8f86d3586ab2ae7}
总结
通过本次题目学习到:
栈溢出
Payload编写