首页
社区
课程
招聘
[原创]看雪.京东 2018CTF 第六题 PWN-noheap
发表于: 2018-6-28 09:20 3597

[原创]看雪.京东 2018CTF 第六题 PWN-noheap

2018-6-28 09:20
3597

先用pwntools检查一下开启了哪些安全保护。

程序运行时,会算出一个简单的哈希,需要输入哈希对应的数据才能进行下一步。哈希验证可以通过爆破解决。

程序在初始化的时候会用异或一些地址,并初始化一串用于VM的指令。

其中指令为1, 3, 0x13, 1, 0xf, 4, 6, 1, 9, 0x14, 1, 2, 0x13, 0x16, 0, 0x40

下面会使用异或重新生成地址。

在偏移0x01107定义了一个简单的虚拟机。指令码为0x1-0x16。利用这个虚拟机可以操作栈。并且可以劫持执行流程。

处理Malloc的函数会从命令行读入一个size,是一个无符号整型,size不能大于0x80。然后读入size - 1个字符。输入整数时都是没问题的,但是输入0时会读入0xff个字符,着就会覆盖VM的指令。

在漏洞利用时,不需要泄露信息,因为libc已经给出,然后可以从栈上读取一个libc中的已知地址,这里选取的是__malloc_hook + 0x10,实际上就是main_anera

然后就可以根据这个地址算出任意libc中的地址。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//