注入语句中And与Or的替换使用
(注入漏洞的判断原理,构造逻辑表达式提交,根据返回内容的真假判断)首先来看看And吧,最常用的这个了,测试漏洞页时的使用,看看下面例句:
直接访问正常的结果 http://www.xxxxxx.com/show_news?id=10
使用and 1=1检测页面 http://www.xxxxxx.com/show_news?id=10 and 1=1
第一个是正常页面(要不正常那还检测P的 - -),第二个带了个and 1=1一样返回正常页一样,
这个不用多说的,因为and 1=1这个条件永远都是真的,所以当然返回是正常页。继续第三个
页面测试,访问http://www.xxxxxx.com/show_news?id=10 and 1=2 这个现实另外一个页面或者
出错的话应该就是存在注入漏洞了。
下面说说or运算符,在防注系统过滤了and时可以使用or代替。or检测的规则和and相反,
引用一句经典的“假是真时真是假”。使用and时我们猜表和列等返回正确页就是存在,否
则就是不存在。而使用or恰好相反,猜解时返回错误的才是存在,返回正确则不存在。
使用or检测是否有注入漏洞也很简单,看看下面的几个例句就OK了,根据上面的规则:
http://www.xxxxxx.com/show_news?id=10 正常访问的结果
http://www.xxxxxx.com/show_news?id=10 or 1=1 返回另一页面或出错
http://www.xxxxxx.com/show_news?id=10 or 1=2 返回正常页一样
以上就可以判断该页存在注入漏洞了,这就可以使用or替换and去注入了。我们就可以继续
后面的猜解工作了。比如猜解是否存在表admin的,那么可以使用以下的语句去猜解,
http://www.xxxxxx.com/show_news?id=10 or select * from admin
其他的语法都同上类似,只需要修改相关语句即可了
页:
[1]