首页 -> 安全研究

安全研究

安全漏洞
phpBB viewtopic.php postdays参数跨站脚本漏洞

发布日期:2004-03-13
更新日期:2004-03-19

受影响系统:
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
不受影响系统:
phpBB Group phpBB 2.0.7
描述:
BUGTRAQ  ID: 9865
CVE(CAN) ID: CVE-2004-1809

phpBB2是一款由PHP编写的WEB论坛应用程序,支持多种数据库系统,可使用在多种Unix和Linux操作系统下。

phpBB2包含的"viewtopic.php"脚本在处理"postdays"变量时缺少充分过滤,远程攻击者可以利用这个漏洞进行跨站脚本执行攻击,可能获得用户敏感数据信息。

脚本"viewtopic.php"在返回"postdays" HTML变量值给客户端时没有进行任何编码或删除过滤恶意代码,当目标用户连接嵌入恶意"postdays"变量数据链接时,可导致脚本代码在用户浏览器上执行,可能获得用户的敏感信息。

<*来源:JeiAr (jeiar@kmfms.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=107920498205324&w=2
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

if( !empty($HTTP_POST_VARS['postdays']) || !empty($HTTP_GET_VARS['postdays']) )
{
    $post_days = ( !empty($HTTP_POST_VARS['postdays']) ) ? $HTTP_POST_VARS['postdays']
: $HTTP_GET_VARS['postdays'];
    $min_post_time = time() - (intval($post_days) * 86400);

-----[ REPLACE WITH ]---------------------------

if( !empty($HTTP_POST_VARS['postdays']) || !empty($HTTP_GET_VARS['postdays']) )
{

///////////////////////////////////////////////////////////////////
// Lets Do Away With These Problems By Requiring A Valid Integer //
// Fix By JeiAr // http://www.gulftech.org // Friday 03 12, 2004 //
///////////////////////////////////////////////////////////////////
    
    $post_days = ( !empty($HTTP_POST_VARS['postdays']) ) ? intval($HTTP_POST_VARS['postdays'])
: intval($HTTP_GET_VARS['postdays']);
    $min_post_time = time() - (intval($post_days) * 86400);

厂商补丁:

phpBB Group
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

phpBB Group Upgrade phpBB 2.0.7
http://www.phpbb.com/downloads.php

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