Mary_Morton另外两种做法
网上可以找到的通常是利用格式化字符串输出 Canary 的值,然后再利用栈溢出调至漏洞函 数,此处我讲讲例外两种思路。
方式 1: 输入 2,利用格式化字符串将 printf 的 got 地址修改为 system 的 plt 地址,再次输 入 2,输入’/bin/sh\x00’,相当于执行 system(‘/bin/sh\x00’)
方式 2: 输入 2,利用格式化字符串将 exit 的 got 地址修改为 sub_4008DA 函数地址(该函数 可以直接执行 cat ./flag),再次输入 3,调用 sub_4008DA 函数 cat flag 代码如下,已详细注释,就不再做分析说明了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Daily Study!