phpBB 2.0.13 usercp_register.php输入过滤不充分漏洞
发布日期:2005-03-03
更新日期:2005-03-04
受影响系统:phpBB Group phpBB 2.0.13
描述:
phpBB是一种用PHP语言实现的基于Web的开放源码论坛程序,使用较为广泛。它支持多种数据库作为后端,如Oracle、MSSQL、MySql、PostGres等等。
phpBB的usercp_register.php脚本对用户提交参数缺少充分过滤,远程攻击者可以利用这个漏洞在签名上使用HTML、BBCODE代码。
usercp_register.php文件中存在有漏洞的代码:
$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( \
($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $board_config['allow_html']; \
$allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( \
($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $board_config['allow_bbcode']; \
$allowsmilies = ( isset($HTTP_POST_VARS['allowsmilies']) ) ? ( \
($HTTP_POST_VARS['allowsmilies']) ? TRUE : 0 ) : $board_config['allow_smilies'];
如果我们在html代码中以allowhtml,allowbbcode或allowsmilies的名定义一个变量的话(任何类型的变量,hidden,text,radio,check,等等),则在签名中就可以使用HTML,BBCODE和Smiles功能。但这只对私人消息有效。
我们的签名本应是经过过滤的,但在私人消息中却没有过滤。
<*来源:Paisterist (
paisterist.nst@gmail.com>)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=110987231502274&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
1 - 拷贝有漏洞论坛注册页的html代码。
2 - 将表单动作改为论坛的路径和profile.php,例如
http://phpbb.com/phpBB2/profile.php
3 - 添加变量,这样就可以在私人消息中出现bbcode,htmlcode或smilies。
4 - 通过这个修改后的注册页就可以在签名中加入html代码。
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 修改usercp_register.php中有漏洞的代码
有漏洞部分:
$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( \
($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $board_config['allow_html']; \
$allowbbcode = ( isset($HTTP_POST_VARS['allowbbcode']) ) ? ( \
($HTTP_POST_VARS['allowbbcode']) ? TRUE : 0 ) : $board_config['allow_bbcode']; \
$allowsmilies = ( isset($HTTP_POST_VARS['allowsmilies']) ) ? ( \
($HTTP_POST_VARS['allowsmilies']) ? TRUE : 0 ) : $board_config['allow_smilies'];
修复:
$allowhtml = ( $board_config['allowhtml']) ) ? TRUE : 0;
$allowbbcode = ( $board_config['allowbbcode']) ) ? TRUE : 0;
$allowsmilies = ( $board_config['allowsmilies']) ) ? TRUE : 0;
厂商补丁:
phpBB Group
-----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.phpbb.com/浏览次数:3125
严重程度:0(网友投票)