【补丁名称】
重要安全修正:图片地址过滤问题
【重要度】
重要,安全更新
【版本涉及】
MolyX所有版本(2.1.4、2.5.0、2.6.0等)
【补丁安装说明】
涉及文件:includes/functions_codeparse.php
使用2.6.0的朋友请下载附件,解压后覆盖原论坛文件
曾经修改过2.6.0中的functions_codeparse.php或者使用2.5.0与2.1.4的朋友可以参考下面的手动修改说明修改
【补丁修正说明】
标准编辑器下,当管理员在后台打开了“
允许在[ IMG ]标签内使用动态URL链接?”, img 标签没有对Javascript进行检查,将可能受到跨站脚本攻击。
所见即所得编辑方式下如果添加的图片地址包含空白字符(例如空格),则会跳过过滤引起上面所说的问题
目前已知的攻击代码在firefox下报错但不会执行,而IE下则会被执行
【手动修改说明】
includes/functions_codeparse.php文件
找到
代码:
'#<img[^>]+src='./../../&'#40;\'|")(\S+?)(\\1).*>screen??(.*)>#siU',
'#<img[^>]+src='./../../&'#40;\'|")(\S+?)(\\1).*>#siU',
替换为
代码:
'#<img[^>]+src='./../../&'#40;\'|")(.+)(\\1).*>screen??(.*)>#siU',
'#<img[^>]+src='./../../&'#40;\'|")(.+)(\\1).*>#siU',
注意上面的修改有两处,都要修改
找到
代码:
$default = "[img]".$url."[/img]";
在下一行添加
代码:
if (preg_match("/java(s|s)cript(\:|\s)/i", $url))
{
return $default;
}