探索数据库的特性Bypass WAF

  • A+
所属分类:安全文章

高质量的安全文章,安全offer面试经验分享

尽在 # 掌控安全EDU #



探索数据库的特性Bypass WAF
探索数据库的特性Bypass WAF

作者:掌控安全-hpb1

前言

我们在bypass waf时,例如说mysql的内联注释、还可以用到一些数据库的特性来bypass waf的缺陷。因为waf有一些规则缺陷


探索



查询语句的五个位置:

SELECT * FROM news WHERE id=-1位置一union位置二select位置三 1,password位置四from位置五admin

通过以上语句的位置。


我们来fuzz mysql的特性,来看看哪些字符可以代替空格。


首先是位置一,选中位置一,打开burp来进行跑包


探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

只这时候看到,位置一支持代替空格的字符有%09、%0a、%0b、%0c、%0d、%20、%2e

探索数据库的特性Bypass WAF

接下来继续跑位置二同样的方法跑,只是换个位置

如下图可以看到支持代替空格的字符有:%09、%0a、%0b、%0c、%0d、%20

探索数据库的特性Bypass WAF

位置三这里看到代替空格的字符有很多,说明这里有多种绕过,

如下图可以看到支持代替空格的字符有:%09、%0a、%0b、%0c、%0d、%20、%21、%2b、%2d、%40、%7e

探索数据库的特性Bypass WAF

位置四如下图可以看到支持代替空格的字符有:%09、%0a、%0b、%0c、%0d、%20

探索数据库的特性Bypass WAF

最后一个位置了,我们看看支持的代替空格的字符多嘛?

如下图可以看到支持代替空格的字符有:%09、%0a、%0b、%0c、%0d、%20、%60

探索数据库的特性Bypass WAF

了解这些特性之后,我们尝试bypss 安全狗,不过这里尝试union select 的时候被拦截了,我们尝试输入刚刚fuzz出来代替空格的字符。

可以看到%00是不拦截的,waf认为mysql是不执行的,于是不拦截。

探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

那么这时候是不是可以想到一个问题,如果开发不熟悉不同数据库的特性,那么其他类型的数据库是不是就可以绕过了呢。

如下图可以看到oracle、mssql是可以正常查询数据,说明安全狗不了解各个数据库的特性,于是通过数据库特性进行bypass了。

探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

实战绕过安全狗



前面我们知道数据库的特性,接下来我们来继续bypass waf,


首先先来查询注入点在哪,用and 1=2语句时拦截,and 1也拦截,


直接写and又不拦截,说明and后面出现字符时会拦截。


探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF


这时候我们可以使用其他函数like来进行判断注入点,可以看到like可以正常判断。


探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

接下来继续判断字段数,order by 1时拦截,使用内联注释似乎也不可以,


这时候GET无从下手时,可以转换传参进行尝试绕过,不同传参正则是不一样的。


探索数据库的特性Bypass WAF


转成post传参后,我们再尝试order by 1,发现拦截,orderby不拦截,


探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF


这时候尝试注释符来代替空格,看看是否绕过?

可以很明显看到绕过了。

探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF


知道字段数后我们继续联合查询,发现union select拦截,unionselect也拦截,说明常规手段绕不过了

探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

这里其实有多种绕过方法,例如协议绕过,或者是特殊字符编码绕过,

这次就简单分享一下注释和随便几个字符的绕过。

下图可以看到出现输出点了

探索数据库的特性Bypass WAF


尝试进行数据库的查询,这时候可以发现被拦截了

探索数据库的特性Bypass WAF

我们来看看拦截了什么?

去掉括号不拦截,说明拦截括号

探索数据库的特性Bypass WAF


尝试使用注释符号代替空格,发现也拦截了

探索数据库的特性Bypass WAF

前面我们随便输入一些字符就绕过联合查询,那我们是不是也可以在注释里随便添加字符绕过呢?事实证明是可以的。

成功查询到库名。

探索数据库的特性Bypass WAF

最后我们再尝试查询字段内容,可以看到被拦截了。

探索数据库的特性Bypass WAF

这里我们继续删掉一些字符,看看拦截了什么,admin删掉就不拦截了,

那直接fromadmin呢,发现不拦截,那么这里只需要找出代替空格字符就可以绕过了,这里使用注释符

如下图可以看到,查询到数据了。

探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

探索数据库的特性Bypass WAF

文末

本人只是简单介绍了数据库的特性,以上这些远远是不够的。


只是简简单单提供了一个思路,仅作抛砖引玉之用,希望对你有所帮助...




回顾往期内容


文库 | 反序列化漏洞汇总

文库 | SQL注入知识总结

公益SRC怎么挖 | SRC上榜技巧

实战纪实 | SQL漏洞实战挖掘技巧

渗透工具 | 红队常用的那些工具分享

一块钱住酒店? 新手支付漏洞挖掘过程分享


探索数据库的特性Bypass WAF


扫码白嫖视频+工具+进群+靶场等资料


探索数据库的特性Bypass WAF

 


探索数据库的特性Bypass WAF

 扫码白嫖


 还有免费的配套靶场交流群哦!



本文始发于微信公众号(掌控安全EDU):探索数据库的特性Bypass WAF

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: