文件上传漏洞学习篇

文件上传漏洞

在现代互联网的Web应用中,上传文件是一种常见的功能,用为它可以提高业务的效率,比如很多的网课学习系统,允许用户上传头像、视频、图片、文档等许多类型的文件。一旦Web应用向用户提供的功能越多其受到攻击的风险就会越大,如果一个Web应用中存在文件上传漏洞,那么有些居心不良的用户就可以利用这个漏洞将可执行的脚本程序上传到服务器中,获取网站的权限,从而可以进一步获取整个服务器的权限,甚至可以危害到服务器的整个局域网。

文件上传漏洞产生的原因

服务器端代码未对客户端上传的文件进行严格的验证和过滤,导致可以上传一些脚本类型的文件。

文件上传漏洞的危害

居心不良的用户利用该漏洞上传的恶意脚本文件控制整个网站,甚至控制整个服务器。

常用的过滤方式

客户端验证

JS校验(该方法一般校验文件的后缀名、大小)
在这里插入图片描述

服务器端验证

文件头Content-Type字段校验(也就是mime)
在这里插入图片描述
文件内容头校验(如gif图片的文件头)
在这里插入图片描述
后缀名黑名单校验
在这里插入图片描述
后缀名白名单校验
在这里插入图片描述
自定义正则校验
利用一些正则表达式写一些自己想过滤的东西

WAF设备校验

不同的WAF设备有不同的校验规则

常见的绕过方法

删除或修改网页中的检测JS代码、抓包改包、上传允许的文件类型但带有木马的文件配合解析漏洞绕过、文件截断等等

演示

下面以DVWA靶机演示,分别演示在其low、medium等级下利用上传漏洞拿shell的步骤(high等级较难,还没有拿下。。):
low等级
在这里插入图片描述现在进入的是low等级,先进行尝试直接上传shell.php
在这里插入图片描述可以看到shell.php直接上传成功了,拿到中国蚁剑里面试试能不能连上
在这里插入图片描述可以看到是可以的,因此推测low等级下的靶机是没有任何过滤的,可以直接上传shell的

medium等级
在这里插入图片描述可以看到靶机在这里已经进入了medium等级,再试试能不能直接上传shell
在这里插入图片描述可以在左上角看到上传不成功的提示,再来试试上传正常的图片
在这里插入图片描述可以看到是上传成功的,接下来抓包修改一下mime试试
在这里插入图片描述在这里插入图片描述可以看到这里的mime格式是application/octet-stream,修改为image/jpeg
在这里插入图片描述看到shell.php修改完之后是可以上传成功的,然后就可以和上面的一样去连接就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值