Bluehat2021-slient-WP
这题没啥意思,就是爆破。由于无法输出任何东西,需要有能代表是正确的标志,可以使用 jmp 0 的方法,如果爆破正确则 jmp 0,否则 jmp 到一个乱七八糟的地方造成段错误,这样通过是否有 got eof 就可以判断了。
…PWNABLE.TW-BREAK OUT-WP
这道题还是比较刺激的,一开始觉得很简单,直接改 note 指针修改 __free_hook 就行了,结果发现开启了写地址白名单,只允许在堆段上写数据,于是考虑 unsorted bin attack 改白名单,然后无语地发现白名单只读,于是只能 FSOP,然后本机和服务器的堆环境还不一样(明明是一样的 libc),打出了整个堆段分析才找到正确的地址。
…XCTF-sentosa-WP
主要的漏洞点在

这里,当 Input length of your project name: 时输入 0,此处 v2 就会变成 -1,可以栈溢出。
栈环境如下

由于有 canary,有意义的溢出也仅有溢出到 v6。

v6 仅在最后被存入到了指针数组中,又没有 edit 功能,所以我们只能通过部分覆写来实现 leak 和 free。
…