/plus/guestbook/edit.inc.php 这个是一个dedecms留言板注入漏洞,因为没有对$msg过滤,导致可以任意注入,处理方案如下:
打开/plus/guestbook/edit.inc.php,搜索代码:
else if($job=='editok')
修改为:
else if($job=='editok') { $remsg = trim($remsg); /* 验证$g_isadmin */
if($remsg!='') { //管理员回复不过滤HTML
if($g_isadmin) { $msg = "
".$msg."
\n".$remsg;
//$remsg
管理员回复:
} else { $row = $dsql->GetOne("SELECT msg From `a15_guestbook` WHERE id='$id' ");
$oldmsg = "
".addslashes($row['msg'])."
\n";
$remsg = trimMsg(cn_substrR($remsg, 1024), 1); $msg = $oldmsg.$remsg; } }
/* */ /* 对$msg进行有效过滤 */ $msg = addslashes($msg); /* */
$dsql->ExecuteNoneQuery("UPDATE `a15_guestbook` SET `msg`='$msg', `posttime`='".time()."' WHERE id='$id' ");
ShowMsg("成功更改或回复一条留言!", $GUEST_BOOK_POS); exit(); }