sql注入的检测

SQL注入是因为开发者没有过滤GET/POST的参数导致参数传入mysql语句拼接成注入语句导致.

网上很多作者使用and 1=1   and 1=2来检测是否可以注入.

例如http://xxxxxx.com/ProductShow.asp?articleid=143(详细地址不透漏.)

ProductShow.asp用于显示指定的文章id的文章内容,其文件内容可能是:

<%

id=Request.QueryString("id")

select *  from  article where id=id

%>

正常用户访问生成的SQL语句:

select *  from  article where id=143

检测注入生成SQL语句:

select *  from  article where id=143 and 1=1 [正常访问]
select *  from  article where id=143 and 1=2 [出错或者没有查询到文章]

为什么我们说and 1=1正常 1=2出错 就可能存在注入,因为只要没有开发者没有对参数过滤我们的SQL拼接执行了就是可能存在注入

访客
邮箱
网址

Top