DVWA中的upload(文件上传漏洞)

 原理: 文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是web服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。显然这种漏洞是getshell最快最直接的方法之一,需要说明的是上传文件操作本身是没有问题的,问题在于文件上传到服务器后,服务器怎么处理和解释文件。

准备:打开靶机后查看IP地址,在攻击机浏览器访问,进入dvwa页面

1.low等级:

低等级的没有做任何的防护所以上传图片类型或者php类型的文件都可以返回成功
**

2.medium等级:

**
提交php类型的文件发现失败,查看源代码:
DVWA中的upload(文件上传漏洞)_第1张图片
发现要求必须是image或者jpeg类型的文件,注意不是格式是mine类型,所以我们可以通过burpsuite进行拦截将文件类型修改。
在这里插入图片描述
可以看到类型是二进制的字节流,所以我们将其改成image/jpeg,如下:
在这里插入图片描述
点击forward放行,可以看到上传成功
DVWA中的upload(文件上传漏洞)_第2张图片
在提示成功前有一个目录,我们将其复制在url后,将#去掉再复制
在这里插入图片描述
然后回车键,此时如果是图片文件则会显示出来图片,如:
DVWA中的upload(文件上传漏洞)_第3张图片
而我们现在是一句话木马的php文件所以我们将这个网址打开然后利用菜刀打开
DVWA中的upload(文件上传漏洞)_第4张图片
地址写我们复制的网址:
在这里插入图片描述
密码是我们写入shell1.php中括号里的部分,如我们写的是

所以密码就是chopper,其中的@,‘’可以去掉

DVWA中的upload(文件上传漏洞)_第5张图片
可以右击打开文件管理,于是我们可以找到我们上传的文件,可以修改删除等操作,还可以操作其他目录下的文件。
DVWA中的upload(文件上传漏洞)_第6张图片
还可以打开终端,使用命令行的方法查看修改等如下:
DVWA中的upload(文件上传漏洞)_第7张图片
当然如果我们在添加的时候配置数据库的话则可以右键选择数据库管理,在窗口输入SQL语句进行查看,如:select * from mysql.user等。
然后如果说我们想在靶机执行命令删除我们上转的文件的话,可以执行下列命令:
DVWA中的upload(文件上传漏洞)_第8张图片
扩展:webshell分为小马和大马
小马:一句话木马,只有一行代码,一般是系统执行函数
大马:会进行二次编码加密
shell2.php #eval 使用php函数,例如phpinfo();在这里插入代码片

 eval($_REQUEST[‘wenying’];?)>

http://192.168.91.132/dvwa/vulnerabilities/uploads/shell2.php?wenying=phpinfo();

shell3.php #system 使用Linux系统命令,例如ls,cp,rm

http://192.168.91.132/dvwa/vulnerabilities/upload/shell3.php?wenying=cat /etc /passwd `在这里插入代码片`中国菜刀:

说明:REQUEST是在页面输入变量访问,POST是使用菜刀之类的工具链接,是C/S架构(客户端/服务端)。

你可能感兴趣的:(笔记)