-
-
[原创] Q3 第四题:卧薪尝胆 WP
-
发表于: 2019-9-25 11:53 5867
-
保护全开。主要分析一下程序中的主要逻辑。
这边是程序初始化的时候做的,主要功能其实就是限制你不能修改malloc_hook和free_hook。 他每次会将执行malloc_hook和free_hook的替换。edit功能存在没有限制索引的漏洞,可以向后修改,并且有off-by-null。
这题没有输出,主要思路就是修改_IO_FILE来进行leak。可以使用edit的负数直接拿到bss上的stdout直接进行修改,我用的方法是unsorted bin的main_arena地址覆盖fastbin的fd。然后部分修改到stdout,然后进行修改_IO_write_base进行leak。首先就是使用off-by-null进行chunk overlap。部分代码如下
其实你分析分析首先的malloc_hook和free_hook作者设置的限制,其实里面还是可以利用的点的。你把bss上的全局指针修改掉就可以劫持。 但是苦就苦在我们不能不知道程序的基地址。but我们可以修改stdout _IO_FILE结构体来进行leak,二次修改_IO_write_base到malloc_hook进行泄露程序地址。拿到地址后就可以fastbin attack到bss修改全局变量,我选择修改free_hook bss为system。然后free一块/bin/sh就bingo了。具体exp如下:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [原创] 关于抓包的碎碎念 17916
- [原创] RoarCTF Pwn部分赛题WriteUP 10508
- [原创] Layer7 CTF Pwn题部分Writeup 14976
- [原创] Q3 第四题:卧薪尝胆 WP 5868
- [原创] ByteCTF Pwn部分题解 15424
看原图
赞赏
雪币:
留言: