动网论坛 (DVBBS) PHP 2.0++ dispuser.php 存在SQL注入漏洞


添加时间:
2010-10-05

系统编号:
WAVDB-01707

影响版本:
DVBBS PHP 2.0++

程序介绍:

动网(DVBBS)PHP论坛系统是一个采用PHP和MYSQL的数据架构的高性能网站论坛解决方案。动网论坛做为动网主要服务产品之一,自2001年投入推广并运营以来,得到了国内外广大互联网用户的广泛好评和支持。做为国内第一的互联网论坛服务品牌,占据了国内论坛服务市场的70%以上的用户,动网论坛服务在一些如电影、下载、网游等热门网站的占有率甚至高达80%以上,是中国论坛服务领域事实上的标准。

漏洞分析:

文件dispuser.php中:

 
  1. ifis_numeric($id) ){  //第6行  
  2.     $showUserID = intval($id);  
  3. else{  
  4.     if$UserName == '' ){  
  5.         $ErrCodes = $lang['UrlArgError'];  
  6.     }  
  7. }  
  8. ……  
  9. ifemptyempty($showUserID) ){    //第35行  
  10.         $updStmt .= " WHERE UserName='{$UserName}' ";  
  11.         $stmt .= " WHERE UserName='{$UserName}' ";  
  12.         $onstat = " WHERE UserName='{$UserName}' ";  
  13.     } else{  
  14.         $updStmt .= " WHERE UserID={$showUserID} ";  
在变量$UserName存在且$id不存在的时候,变量$showUserID就不会被赋值。导致注入漏洞的产生。

漏洞利用:

 http://wavdb.com/dispuser.php?name=lovemmm&showUserID=1%20and%201=2

解决方案:
临时解决办法:
--------
初始化变量$showUserID

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

信息来源:
<* 来源: sebug
链接: http://sebug.net/vulndb/20111/
*>