通过libc找到栈的地址——wdb2018_guess

题目是网鼎杯的,找不到原题

通过之前所说的触发canary错误而触发check_stack_fail打印出arg[0]中的地址,此时将地址赋值为read的got表,然后通过LibcSearcher找到libc,通过libc找到environ。

environ的地址=libc_base+environ的偏移

environ保存的是栈中的地址,通过environ保存地址和栈中数据的偏移即可以得到所有栈中的地址

要求:开启canary保护,存在栈溢出并且能够溢出致arg[0]

ps:这个漏洞只存在与libc2.3 libc2.3后check_stack_fail的参数直接去除了arg[0],所以也无法利用了

 

原文地址:https://www.jianshu.com/p/a530743062fe

posted @ 2021-07-26 11:01  Haokunnnnnnnna  阅读(150)  评论(0编辑  收藏  举报