国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > DedeCMS > PHPCMS2008问吧模块安全漏洞的解决办法

PHPCMS2008问吧模块安全漏洞的解决办法

来源:程序员人生   发布时间:2013-12-02 05:22:04 阅读次数:2431次

PHPCMS2008问吧模块安全漏洞的解决办法

检查/ask/show.php发现,存在如下脆弱语句

$posts['message'] = $M['use_editor'] ? $posts['message'] : strip_tags($posts['message']);

其中如果使用了在线编辑器,则不会对页面中的html代码进行过滤!这样XSS、iframe攻击将变得轻而易举!!
并且这样的情况在show.php、query.php、question.php中全部存在。
解决办法很简单,对$posts['message']中的HTML代码进行安全过滤。

function stripDangerHtml($str){
$pattern = array(
"/s+/",
"/<(/?)(script|i?frame|style|html|body|title|link|meta|?|\%)([^>]*?)>/isU",
"/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU",
);
$replacement = array(
" "," ","[url=file://12]12[/url]",
);
$safeStr = preg_replace($pattern,$replacement,$str);
return $safeStr;
}

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生