日期:2014-05-17  浏览次数:20468 次

关于SQL注入的一些问题...URL注入....
用一些SQL注入工具来检测自己的后台...发现显示能注入..想求教一下怎么防注入

在表单的检测里已经过滤掉了所有非法的字符.....

现在不知道怎么从URL里过滤掉非法字符...

想弄清楚URL注入原理和防注入的方法......

工具里的这些有些不太懂

XXXX.com/adminlogin.php/**/and/**/1=1
XXXX.com/adminlogin.php/**/and/**/1=1/**/union/**/select/**/1,2,3,4,5,6,7,8,9/*

到底是怎么从地址里面提交查询的?

------解决方案--------------------
理论上说,只要不加处理的将传入数据直接应用于 SQL 指令中,那么就存在SQL注入的可能性

如何评价 SQL注入 造成的损害,那就有些讲究了
1、php 为防范 SQL注入 已经采取了措施:一次只能执行一条 SQL 指令。这就断绝了通过重构sql指令来造成灾难性所害的途径。(附加 delete、drop)
2、一个例外是 mysqli_multi_query,他允许一次执行多条指令。由此带来的风险,要由使用者自己来承担的
3、仅仅改变查询条件(恒成立)并不构成威胁,至多是入侵者具备了网站管理员的权限,这个可以通过首先插入一个特殊名称的管理员来解决。只要检查到用户名为该名称时就退出程序
4、或是看到了本不该出现在本栏目的数据,但这并不影响其他用户的正常浏览

总之,大可不必谈虎色变的