标题: 原创】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值越界

因为漏洞本身分析的时候很多地方都难得理解,能力也有限,还有分析不清楚的地方,希望可以提出.


完整文档下载:

httpdx 1.5.4 Remote HTTP Server Denial of Service 漏洞分析.docx