好家伙,甚至侥幸拿了个一血
portable_rpg
在添加堆块的时候,选择角色时,不选123,这样原堆块的数据就不会被更改,便可以利用这一点进行伪造
1)泄露:泄露其实办法就很多了,需要注意就是最后的数据非0才能show
我的做法是搞个unsorted bin出来,然后利用漏洞点,切割unsorted bin,得到残留下来的main_arena,就可以将mian_arena上的数据泄露,其中就有main_arena的地址,从而计算libc的地址
2)攻击:利用漏洞,使得tcache中取出的chunk的fd指针内容被保留下来,再free掉就可以造成一个double free
exp:
1 | from pwn import * |
silent
只能用open和read,思路就是把flag读到内存然后逐个字符比较爆破
cmp指令比较,相等则往回跳转重新比较,从而陷入死循环,然后通过时间来判断正确与否
同时还加了反调试
关键是去年原题。。。。。。
emmmmmm,索性直接找了去年别人的wp做了,实在搞不懂出题人为啥要放个原题
链接:https://www.anquanke.com/post/id/226089
exp:
1 | from pwn import * |