攻防世界 pwnstack WriteUp

WriteUp

题目信息

来源:攻防世界
名称:pwnstack
分类:Pwn
描述:无

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

解题思路

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

于是使用64位IDA对文件进行反汇编。

查看vuln函数,发现其中有read函数可以利用(buf长度只有160,但是read可以修改的长度有177),于是考虑栈溢出漏洞。

此时再去查看“system(/bin/sh)”的位置,具体过程如下:

先找到/bin/sh字符串出现的地址:

然后查看交叉引用(ctrl+x):

跳转到引用该字符串的位置:

对该函数进行反汇编,得到伪代码:

最后选中system("/bin/sh"),查看该指令的地址:

由此便可以写出payload。(不要忘了给文件加可执行权限)

靶机地址如下:

最终payload如下:

结果如下:

使用工具

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

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

Flag

cyberpeace{9dd6f8f85331f52deb30e01940122297}

总结

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

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