动网(DVBBS)PHP论坛preview.php代码执行漏洞

  • 发表于
  • Vulndb

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

在文件preview.php中:
require printout('preview');//第9行
……
函数printout在文件inc/ dv_clsmain.php中:
function printout($template,$ext="tpl.php"){//第464行
文件最后包含了templates\default\ preview.tpl.php文件
……
在文件templates\default\ preview.tpl.php中:
$theBody =& Dv_CodeProcess($theBody, $tmpuserinfo, Ubblist($theBody).'39,', 1, 0); //第31行
& Dv_CodeProcess函数在文件inc/dv_code.php文件中:
function &Dv_CodeProcess(&$code,&$currUserInfo,$ubblists,$PostType=1,$sType=1) //第332行
……
$arrPattern[] = '#\[url\s*=\s*([^\]]+)](.*?)\[img](.+?)\[\/img](.*?)\[/url]#iesm'; //第415行
		$arrRepl[] = '\'<a href="\'.str_filter_xss("$1").\'" target="_blank">$2<img src="\'.str_filter_xss("$3").\'" border="0"/ >$4</a>\'';
……
$returnval = preg_replace( $arrPattern ,$arrRepl ,$code );//第861行
函数preg_replace当第一个参数的正则表达式有e符号的时候,第二个参数的字符串当做PHP代码执行。

安全建议:

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