这个问题应该很久了 最近发现有用这个的蠕虫,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