mysql注入fuzz字典_sql注入fuzz bypass waf

本帖最后由 xmidf 于 2018-7-11 10:16 编辑

作者:whynot      转自:先知

0x0 前言

这里是简单对sql注入绕过waf的一个小总结,非安全研究员,这里不讲原理,关于原理搜集了一些其他大佬的文章(文章在最下面请自取),感谢他们的分享,比着葫芦画瓢,对着各大waf厂商跟着师傅们来一波实战,进行一个简单的总结。

0x1 注入点检测

一般的注入还是很好判断的,特别是基于报错,但有的时候略微有些奇葩的环境,再加上一些乱七八糟 waf,就比较难搞了,这里简单总结了一些方法。

利用数据库独有的一些函数

access  asc chr len #access-functions

mysql   substring   substr length

mssql   char ascii len substring    #mssql function str

oracle  ascii  chr length  substr upper lower replace(x,old,new)

这些数据库中一个通用的函数就是abs,如果觉得是int型注入不妨先试试2-abs(1),然后结合各类数据库的一些函数来判断是什么数据库的注入,当然对数据库了解越多越好。

改变请求方式

根据经验,一般情况下各脚本对http request method如下,这里以GET为例子,针对www.vul.com/?id=1来进行判断。

php GET

aspx GET

asp GET POST COOKIE

jsp GET POST

平常渗透测试中总是遇到各种各样的waf,有的时候一个单引号就死了,这个时候首选的一些方法就是转换请求头了,毕竟GET不如POST,POST不如multipart/form-data,当然不要看到php就不去转换,任何情况下都要尝试一下。

当然,可以用burp很方便的来进行change request method以及change body encoding。

之前碰到过一个有趣的例子,asp的站点可以通过cookie提交数据,而且可以使用len函数,可以初步判断为access或者mssql数据库,但是还是很头疼,最后一位大哥使用下面的函数可以判断成功。www.vul.com/2.asp?id=482

483-chr(chr(52)&chr(57))    #=482

chr(52) ‘4’

chr(57) ‘9’

chr(49) ‘1’ #chr(52)&chr(57)为49 chr(49)为1 虽然最后也没什么卵用但还是挺有意思的

数据库特性

mysql   注释符号# –+ ` ;%00 // 字符串可以使用成对的引号’admin’ = admin’’’

mssql   注释符号– // ;%00

oracle  注释符号– /**/ admin=adm’||’in

空白符号MySQL5 09 0A 0B 0C 0D A0 20

Oracle 00 0A 0D 0C 09 20

MSSQL 01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20

mysql和mssql可以使用|来进行相关的运算,而oracle会把||当成连接字符。

[AppleScript] 纯文本查看 复制代码1. iis+asp(x)

1.%u特性: iis支持对unicode的解析,如:payload为[s%u006c%u0006ect],解析出来后则是[select]

%u0061nd 1=1

另类%u特性: unicode在iis解析之后会被转换成multibyte,但是转换的过程中可能出现:多个widechar可能会转换为同一个字符。

如:select中的e对应的unicode为%u0065,但是%u00f0同样会被转换成为e s%u00f0lect

iis+asp

2.%特性: unio

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Burp Suite是一款常用的Web应用程序安全测试工具,其中的Fuzzing功能可以用于检测和利用SQL注入漏洞。SQL注入是一种常见的Web应用程序漏洞,攻击者可以通过构造恶意的SQL查询语句来绕过应用程序的身份验证和访问控制,甚至获取敏感数据。 在Burp Suite中使用Fuzzing功能进行SQL注入测试的步骤如下: 1. 配置目标:在Burp Suite中,选择要测试的目标应用程序,并配置代理设置,确保所有的流量都经过Burp Suite进行拦截和修改。 2. 构造注入点:在目标应用程序中找到可能存在SQL注入漏洞的参数或输入字段,并将其标记为注入点。可以使用Burp Suite的Intruder工具来自动识别和标记注入点。 3. 准备Payloads:准备一组恶意的SQL注入Payloads,这些Payloads将被插入到注入点中进行测试。Payloads可以包括常见的SQL注入语句、特殊字符、SQL函数等。 4. 配置Fuzzing:在Burp Suite的Intruder工具中,选择要进行Fuzzing的请求,并将注入点设置为Payload位置。将准备好的Payloads加载到Intruder中,并配置其他相关选项,如并发请求数、超时时间等。 5. 启动Fuzzing:启动Fuzzing过程,Burp Suite将自动发送带有不同Payloads的请求,并记录每个请求的响应。可以通过查看响应中的错误信息、时间延迟等来判断是否存在SQL注入漏洞。 6. 分析结果:根据Fuzzing的结果,分析每个请求的响应,查找异常或错误的迹象。如果发现响应中包含SQL错误信息、应用程序行为异常等,可能存在SQL注入漏洞。 需要注意的是,在进行SQL注入测试时,应该遵循合法和道德的原则,仅在授权范围内进行测试,并避免对生产环境造成任何损害。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值