攻防世界 int_overflow WriteUp

WriteUp

题目信息

来源:攻防世界
名称:int_overflow
分类:Pwn
描述:菜鸡感觉这题似乎没有办法溢出,真的么?

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

解题思路

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

然后使用32位IDA对文件进行反汇编,得到伪代码如下:

接着查看login函数,发现有read函数,可以利用s和buf。

然后再看check_passwd函数,注意到v3是8位无符号整数,其范围是0~255,可以考虑整数溢出。

当v3在[4,8]时,s长度可以是[255 + 4, 255 + 8],从而可以利用strcpy进行栈溢出操作。

另外在字符串窗口,可以观察到关键字符串“cat flag”。

用交叉引用对其溯源得到关键函数“what_is_this”

得到system("cat flag")的地址——0x8048694。

最终payload如下:

结果如下:

使用工具

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

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

Flag

cyberpeace{e3bcde4f34b3dfe368027e4d20faa1ce}

总结

通过本次题目学习到:
整数溢出
栈溢出

posted @ 2025-03-20 18:49  Binary-0  阅读(87)  评论(0)    收藏  举报