前言
这次的文章,是根据上篇那个云锁来进行测试的,如果有那些错误的师傅们可以看下。
正文
来到正题
我们可以看到这是一个云锁,这个我们先说一下什么是云锁:
云锁是服务器必备安全防护及运维管理SaaS解决方案,支持windows/linux服务器跨平台实时、批量、远程安全管理。云锁会7*24小时无间断守护业务系统,持续对企业业务系统进行学习并识别业务的风险点,通过防御模块减少风险面,在检测到未知威胁和业务资产变更时,能自动调整安全策略,帮助用户有效抵御CC攻击、SQL注入、XSS跨站攻击、溢出攻击、暴力破解、提权等黑客攻击,及病毒、木马、后门等恶意代码。发生安全事件后,云锁能自动回溯攻击过程,并形成事件分析报告,为企业提供入侵取证及攻击源分析的能力。进而形成“业务资产管理 - 风险识别 - 安全防御 - 威胁感知 - 攻击事件回溯”的一体化安全防御体系。
对于这一个云锁要这么绕过,我们可以测试一下他检测了那些payload
我们从正常测试来绕过
一:测试下or and not xor绕过,('and'等价于'&&' 'or'等价于'||' 'xor'等价于'|' 'not'等价于'!')
可以看到可以绕过,先记着等会有可能会用到。
二:空格和括号绕过
可以看到绕不过去,他这里照样匹配到了 select from。
三:单单测试union select和order by(看看是当个检测还是两个同时出现检查)
可以看到当两个都匹配到的时候就会被识别,还有一个select from
也是两个同时出现的时候就会被拦截。这里我们可以试一试用注释来绕过,他两个同时使用的匹配规则
这里order by 绕不过,我们可以用group by 来绕过看看。
可以看到他,没检测到。记着。
四:/**/和中间加一个感叹号来绕过
可以看到加一个感叹号的还是被识别了,但是/**/的好像他无法识别,
五:报错注入绕过
使用extractvalue()来绕过
可以看到还是绕不过
我们再试一试group by +count来绕过
这里是能绕过的,记着。
六:left绕过
这里也是能绕过的,记着。
现在试试注入payload
这里就用上面的其中一个left和||来绕过(其他可以绕过的都可以拿来试一试)
这里left是通过取我们输入的字段的前面两个来对比有没有大于aa这个比的应该是ASCII码,没有这个字段就会报错,有就不会报错,通过这个来爆破字段(字段的字典网上有很多我就不写出来了)
通过burpsuit爆破箭头指向的字段
爆破出多个字段:
还有很多,不一个个截图了。 之后通过爆破的字段可以再爆破字段的内容。 payload:http://xx.com/xx.php?id=201%20||%20left(keywords,1)=%27a%27%23
结语
在很多实战中都会有很多waf要绕过的,我们可以根据是什么waf来选择特定的来绕过,也可以在网上找,如果测出来了一些特定payload不会识别那就好办了,我们就可以把这些payload结合起来进行绕过。玩法还有很多,各位师傅可以自己去测试一下,有各种组合方式的。