-
-
[原创]西电中学生比赛pwn2
-
发表于:
2018-6-15 03:14
5868
-
比赛的时候没有做出来,时间不够(好像也没其它人做出来qwq
题目给出的hints是unlink,实际上用不到这个技术。
我用的use after free 实现的。
主要思路是:利用悬指针产生use after use漏洞。
申请第一条消息。
申请第二条消息。
保存第一条消息到悬指针区域。(set_top_msg)
释放第一条消息。
修改悬指针指向的数据,即可改动已经释放的chunk
fastbin:
chunk1 -> msg2 -> fakechunk -> 0
重新申请两次消息即可获得msg2,从而控制msg2中的数据指针域。
为了绕过一些坑,保证堆不出错,一定要构造一个fakechunk,大小和对应bin相同,fd指针为0即可。
msg2中的指针域可控后,先泄露free的地址,再修改got@free =》 system。
chunk1 可以存/bin/sh
free chunk1 即可获得shell
exp如下
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)