标题: 原创】httpdx 1.5.4 Remote HTTP Server Denial of Service漏洞分析
作者: kindsjay
内容摘要:
1.调试环境:
2.漏洞描述POC:
httpdx不正确处理通配符,远程攻击者可以利用漏洞提交恶意GET请求,使应用程序崩溃。
http://www.exploit-db.com/exploits/19988/
3.漏洞分析:
3.1.定位问题函数:
A:服务端运行httpdx -> 用OD进行挂接 -> 客户端运行POC -> OD暂停(图)
B:查看调用堆栈信息
C:直接进入函数httpdx.00402ff0 并对其下断
D:重启加载httpdx -> 运行poc ->断在00402FF0(刚才下的断点),F8一次后查看栈信息(图)
可以看到可疑点.问题可能就出在httpdx.0040845B
E:反汇编窗口进行跟随(图) 来到0040845B
F:经过无数次OD重载,来到了关键函数(00407E95)
注:当在0040845B下断后,滚条往上多滚几次,可以看到00407E95,而它们所处的位置,都在一个大的函数体内 ,漏洞分析中,会说明.
3.2.漏洞分析:
我先用IDA获取下大概的一个源码
变量很多,省略………….( 几十行)
再次省略……..(几十行)
关键点在于理解几个点.
(……省略……)
由于EBP出错,导致函数在下次push的过程中,将错误的值压入了其它函数,致使返回的时候出错.导致崩溃.
总结:
未对字符串剩余长度进行判断,导致索引i值越界
因为漏洞本身分析的时候很多地方都难得理解,能力也有限,还有分析不清楚的地方,希望可以提出.
完整文档下载: