-
-
[原创]看雪.京东 2018CTF 第十一题 PWN-3pigs
-
-
[原创]看雪.京东 2018CTF 第十一题 PWN-3pigs
拿到题目,看名字就觉得似曾相识,一看程序发现果然是HITB原题……有点失望,都不太想写writeup,不过既然写了就多啰嗦一下吧。
当然仔细一看不是原题,简化了原来的一些操作,并限制了泄漏次数。
保护全开的堆考题,有三个0xd0大小的chunk可以分配和释放。在分配逻辑处存在明显的溢出,可以多写16个字节。

这样可以随意修改top的大小。readn本身的off by one都显得多余了。
另外还有一个秘密chunk,大小为0x80,输入对应密文即可分配。

注意编辑这个秘密chunk的逻辑,可以直接修改下一个chunk的fd和bk。

回头再看添加chunk逻辑,发现有个strncpy长度为8的字符串,这样就可以不用被NULL截断了,走这个chunk即可泄漏libc。原题还可以泄漏堆,这里被次数限制了,如下图,当然其实不用泄漏堆。

那么思路就很明确了,先走正常chunk的溢出修改top的大小,触发sysmalloc中的_int_free从而搞出0x60的fastbin,用consolidae把他送入unsorted bin,然后随便分配就可以送它上smallbin。
在这个smallbin上事先伪造好file结构体。然后通过秘密chunk攻击unsorted bin,拿到shell。
总体来说是非常简单明了的House of Orange考题……不过出简化的原题实在是没有诚意啊。
完整利用如下:
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2018-7-7 19:00
被diycode编辑
,原因: