实战|记一次D盾绕过

admin 2022年2月17日13:06:38评论408 views字数 937阅读3分7秒阅读模式

0x01

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

可是有D盾
实战|记一次D盾绕过
尝试用&&绕过,成功,这里注意要进行URL编码,因为&会被当作参数连接使用而不是普通字符
实战|记一次D盾绕过

尝试substr()函数,被过滤了。
实战|记一次D盾绕过

尝试使用right(left(target,1),1)套娃式方法,发现成功了
实战|记一次D盾绕过

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

0x02

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

实战|记一次D盾绕过


于是后面采用ascii()进行,编写小脚本(“元旦快乐”在网站内容正常时出现过)
实战|记一次D盾绕过


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

0x03

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

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

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

作者:xxxx1342, 转载请注明来自FreeBuf.COM

往期推荐

绝路逢生出0day——SYSTEM权限内网漫游

对某法院授权渗透测试

漏洞扫描工具Nessus详细使用教程

Nessus中文报告自动化脚本

一款功能强大的模块化可定制字典生成器

从交换机安全配置看常见局域网攻击

原文始发于微信公众号(菜鸟学信安):实战|记一次D盾绕过

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月17日13:06:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战|记一次D盾绕过https://cn-sec.com/archives/789495.html

发表评论

匿名网友 填写信息