-
-
[原创]2019KCTF Q3 第6题:神秘刺客 Writeup
-
发表于: 2019-9-25 13:18 5159
-
一道没有给libc的菜单题,malloc和free都是作者自己实现的,malloc是通过mmap分配方式实现的。
checksec一下:可以看到只开了NX保护,没有开PIE
free之后指针没有置0,可以想到UAF
可以看到map分配的区域mapped是可执行的,那么就想到shellcode
1.通过fastbin attack劫持fd到.bss段的存在'7f'的堆指针区域
2.覆盖下一个堆指针为got.exit
3.由于mmap区域权限为rwx,随便在一个chunk中写入shellcode
4.通过Write heap功能泄露堆地址,编辑got.exit内容为shellcode_addr
5.最后,退出程序会调用exit,即可getshell
之后开开心心的我去remote,结果很真实
这是因为作者部署的环境是用的自写的cat flag程序,为了安全性考虑吧。项目地址就在图里面,那我就只能换个思路QAQ
先把shellcode这个思路的exp贴在下边:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
谁下载
无
看原图
赞赏
雪币:
留言: