前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谁能杀我?浅谈随机异或无限免杀各种WAF(d盾示例)

谁能杀我?浅谈随机异或无限免杀各种WAF(d盾示例)

作者头像
洛米唯熊
发布2019-07-25 15:25:52
1K0
发布2019-07-25 15:25:52
举报
文章被收录于专栏:洛米唯熊洛米唯熊

作者: 圈子社区 yzddmr6 首发于圈子社区 https://www.secquan.org/Prime/1069497 本文已声明原创,恶意转载硬刚到底! 仅供技术交流,切勿非法用途!

前言#

最近D盾更新了,在某司某圈也看到了不少免杀d盾免杀狗的一句话帖子

但是基本上只要放出来不到两天时间就加入查杀全家桶.

最近一直在造各种车轮子,就想着其实可以写个脚本利用异或来 fuzz 出指定的字符,然后拼接出 assert 或者 create_function 等函数,来对抗 waf 的检测.

查杀 0级了无痕,处女座的福音!

思路及实现#

代码语言:javascript
复制
###首先解决如何fuzz的问题

先讲一个离散数学中的概念叫可逆 ,异或的运算就是具有可逆性的.

具体什么意思呢,就是说若a^b=c,则有b^c=a

所以只要把需要拼凑出来的字符串 a 跟随机取出来的符号 b 异或,然后出来的结果 c 就是需要跟 b 异或的内容.

举个例子

我们来 echo 一下字符 a 跟符号 * 异或的结果

是大写字母K

然后把大写 K 跟 * 异或

就出来了我们想要的 a 那么也就是

a=K^*

但是在写的过程中问题来了 很多时候异或出来的字符是不可见的小方块

就需要把它编码 看了以前有一篇文章是用url编码,但是在实现过程中发现url编码也有一定概率出现不可表示的字符 那就开开心心上 hex 吧

最终成功拼接出来了 assert

接下来就是写个字符串池子,用来存特殊符号,然后随机取出来进行异或,拼接想要的字符.

把它封装成函数 可以设置需要异或的字符串长度

其实也可以用中文甚至 emoji 表情来异或,但是考虑到乱码还有不同系统对表情的支持不同,就算了.

取出拼接好的 assert, 把 get 的数据传进去,就成了下面这样

哈,看来可以使用啦

编辑提示: 在这里 mr6 就是菜刀密码,后面的参数 phpinfo(); 就是你要执行的php命令,可以直接丢到菜刀里。

接着是调用的问题,其实到了这个地步,不管你什么d盾安全狗已经认不出来函数里面写的什么意思了,但是他会根据函数的调用来检测拦截,如果这个时候直接调用的话会爆一级可疑函数.

既然做免杀肯定要0级了啦

放到类里面再调用就好了

接下来就是造轮子了 在脚本中为了增大waf识别的难度 类名方法名也随机化了.

使用方法#

右键查看生成的源码

已经保存到同目录下 1.php 里面了

生成了十几个,免杀无压力~

附上过D截图

最后#

脚本特点有三个#

一利用特殊符号异或达到迷惑waf的目的,并且因为每一次的拼接都是随机生成的,所以单单一个文件进了特征库也不用担心

二是利用类调用,类名函数名随机化,杀软分析起来可能跟普通的文件没有什么区别

三是没有assert eval create_function 等这些关键字,更为隐蔽.

因为是随手写的,所以代码比较糙,不过不要在意这些细节…… 只是提供了一个思路,其实大马也可以像这样写个免杀模版,下一篇文章再讲吧 虽然都是随机化,也没有assert eval 这种关键字,但是用的人多了当然脚本的免杀性也失效了,可以关注我的 github :

代码语言:javascript
复制
    https://github.com/yzddmr6

以后更新的免杀脚本都会放在上面. 如果有什么讲的不对的地方还请大佬们多多包涵.

源码地址:

https://github.com/yzddmr6/php_xor_bypass/blob/master/xor.php#

不来个star?? 不来个star?? 不来个star??


顺便在线等团长的 CVE-2019-0708-RCE 的exp~


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 洛米唯熊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言#
  • 思路及实现#
  • 使用方法#
  • 最后#
    • 脚本特点有三个#
    • 源码地址:
    • https://github.com/yzddmr6/php_xor_bypass/blob/master/xor.php#
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档