不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

记一次D盾绕过

0x01

遇到一个网站,测试功能点http://xxx.com/news.php=3和news?=4-1页面相同,和4-2不同,判断存在注入,尝试注入,

可是有D盾

尝试用&&绕过,成功,这里注意要进行URL编码,因为&会被当作参数连接使用而不是普通字符

尝试substr()函数,被过滤了。
图片

尝试使用right(left(target,1),1)套娃式方法,发现成功了
图片

后面通过尝试发现后段过滤了"",无法进行字符比对,只能比对数字,没有想到好的绕过方法,干脆采用数字来进行后续,于是语句变成了这样 ascii(right(left(database(),1),1))=123,可是又被D盾挡了
图片

0x02

后面通过各种尝试,发现一个特点,到目前的尝试中cid的参数值都有1开头,我尝试去掉1,直接用payload,发现可以绕过部分之前被过滤的东西,比如substr(),可是双引号还是没绕过,我猜测substr()是属于D盾的绕过(基于字符是否同时出现的匹配,因此在删除cid参数值后1 &&后可以绕过对substr()的防护),而"是后段代码的过滤,类似于replace()函数
图片图片

于是后面采用ascii()进行,编写小脚本(“元旦快乐”在网站内容正常时出现过)

成功,由于没有授权,没有继续进行深入研究

0x03

本人是在门边的菜鸟一枚,平时也遇到过WAF,但总是草草略过,然后开始迷茫究竟怎么缩小和大佬之间的差距。

这次遇到D盾后尝试在网上找绕过方法,看到的都是老方法,什么%a0,%00,都已失效,本来准备放弃,但心中总有不甘心,眼前的这个站100%存在注入(虽然可能是低权限),但WAF绕不过去都是白瞎,于是我开始各种尝试,开始用mysql试验,最后幸运地成功绕过了,我也明白了最好的方法就是坚持 ,不要害怕失败。

最后,谨以此文给予与我一样仍在门边徘徊的人一丝丝信心。

转载:FreeBuf

赞(0) 打赏
未经允许不得转载:seo优化_前端开发_渗透技术 » 记一次D盾绕过

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏