格式化字符串漏洞调试分析
2022-11-30 16:58:9 Author: HACK安全(查看原文) 阅读量:6 收藏

 本环境来自于<漏洞战争>

在命令行下用ovftool.exe打开poc.ovf,之后附加到OD中,可以看到栈空间已经被破坏了。

之后定位到错误点,可以看到此时ebp是被破坏掉的

当ret的时候发生的错误

之后通过不断调试,找到了更改EBP的地方,通过查找关键字符定位到POC数据(也可以通过winhex数一下)

%08x 的个数是 98 个,‘A’ 字符的个数是 26 个,%hn 之前的字符串长度为 (98 * 4 + 26) * 2 = 344 + 1 = 345

而%hn用的WORD类型,所以覆盖低地址的部分,345,所以这就构成了120345

漏洞利用:这里用的泉哥书中的进行分析

当执行到ret的时候,可以看到7852753D这个地址

跟过去之后发现7852753D是call  esp

再次跟进之后就是Shellcode了

最后分析了一个poc文件,通过winhex定位到了

接下来我把这个跳转指令替换成了AAAA

可以看到变成了41414141,通过利用字符输出数量,在结合%n控制覆盖了返回地址


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NjU0MjA0Ng==&mid=2247486759&idx=1&sn=65297b77c34cd201f25140b63732c373&chksm=ce480596f93f8c8090220ad962fdf7cd17d3f520e74a2186eacb2098a8d56f9b7f0681ed40c8#rd
如有侵权请联系:admin#unsafe.sh