后台地址:

https://basic.10jqka.com.cn/admin/index.php?op=csiReport&act=view

后台有注入,这里就不演示了,用万能密码直接进去:

admin'or'1'='1 /1

1.jpg

IE 11的话有时候兼容性不是很好,都跑到下面去了。。
 

2.jpg




 

3.jpg




 

4.jpg

解决方案:

使用参数化查询接口或在代码级对带入SQL语句中的外部参数进行转义或过滤:

对于整数,判断变量是否符合[0-9]的值;其他限定值,也可以进行合法性校验。

对于字符串,对SQL语句特殊字符进行转义(单引号转成两个单引号,双引号转成两个双引号)。如:PHP有类似的转义函数mysql_escape_string和mysql_real_escape_string。

【PHP修复示例】

$id=$_GET['id']; $conn = mysql_connect("localhost","root","") or die ("wrong!"); $sel=mysql_select_db("mydb",$conn); $sql="select * from user where id = :id"; $stmt = $conn->prepare($sql); $stmt->execute(array(':id'=>$id)); ?>