首页
社区
课程
招聘
1
[原创]ReeHY-main Pwnable writeup
发表于: 2017-6-8 11:16 6803

[原创]ReeHY-main Pwnable writeup

2017-6-8 11:16
6803

……听说看雪有CTF……还是唯一一题pwn,所以过来看了一眼……典型菜单题,逆向很简单

虽然有show,但是没有任何信息会被打印出来,找不到info leak (姿势水平不够……)

这时候看见create那里有个整形符号的bug,所以直接就去搞那个了……

这个地方假如输入的bytes是0x80000000的话就会过这个检测,但是会malloc一个很大的值,memcpy一个很大的值,stack会被覆盖  (这里有个坑,因为read_int只接受10个数字,所以不能加换行……于是调试用pwntools进行,代码如下)

memcpy下断点稍微调了调 (这里使用了pwndbg,感觉比peda好用一些), 发现可以控制memcpy的所有参数

用pwn cyclic -l 找对应的偏移

由于之后会call fflush,所以用memcpy改掉了fflush的got到puts的plt上,同时改掉了stdout指向任意一个调用过的libc的got (ELF lazy binding 机制)(这里使用的是puts),这样当函数执行到fflush的时候会执行puts(.plt.got['puts']),于是拿到libc的地址偏移


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
赞赏记录
参与人
雪币
留言
时间
PLEBFE
为你点赞~
2022-7-27 02:22
最新回复 (5)
雪    币: 50121
活跃值: (20845)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
听说看雪有CTF……还是唯一一题pwn,所以过来看了一眼……典型菜单题,逆向很简单

还有一题,欢迎到时参与:

2017-6-9 20:14
0
雪    币: 199
活跃值: (134)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你好    问下你遇到malloc(0x80000000)失败的情况了吗?  我在我的电脑上(ubuntu  64bit  8G内存)  跑脚本,每次执行malloc  都失败,  但是单独写个测试程序可以malloc    2G成功。
2017-6-21 21:41
0
雪    币: 236
活跃值: (155)
能力值: ( LV8,RANK:137 )
在线值:
发帖
回帖
粉丝
4
好思路!
2017-11-4 01:22
0
雪    币: 260
活跃值: (39)
能力值: ( LV9,RANK:144 )
在线值:
发帖
回帖
粉丝
5
牛逼
2018-5-13 22:41
0
雪    币: 44
活跃值: (56)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
6
这个。属实是强
2019-6-16 14:28
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册