文件上传漏洞的介绍及利用
介绍:File Upload,即文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马(如前面提到的一句话木马)获取服务器的 webshell 权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx 等都曝出过文件上传漏洞。
一、dvwa之low级别文件上传漏洞讲解
我们首先写一个php的一句话木马
然后在dvwa靶场选择我们的php一句话木马文件进行上传即可
接下来打开我们的蚁剑工具,右键选择添加数据,输入我们的连接密码和连接类型进行连接即可
在low级别当中完全没有难度可言,重要的是熟悉upload上传漏洞的利用,对蚁剑工具的熟练使用。
二、dvwa之Medium级别文件上传漏洞演示
在中级别当中我们发现对文件类型进行了校验,我们是怎么发现的呢,当然了是通过代码审计(这时候就需要你懂一点PHP代码啦,可以去查看前面的LAMP基础知识里面的PHP内容),我们点击查看源代码即可明白。
解决方法有很多,我们这里通过抓包来分析一下,
我们看到这里有个关于文件类型的描述,我们将其改成 image/jpeg 然后放行数据包即可上传成功。接下来怎么做就不用说啦,参考上一步。
三、dvwa之High级别文件上传漏洞演示
通过对源代码审计我们可以知道加了一些过滤规则。
1.文件名后缀必须是jpeg png jpg其中一个
2.必须是一张有效图片通过函数getimagesize()去判断。
函数getimagesize()通过文件头去检验,而这个文件头有MIME类型,简单来说就是去检验了MIME类型。


第二种:
制作图片马
这样就很简单就可以啦。然后上传即可。
接下来的问题就是如何把jpg文件当作php来执行

我们接下来如果想用蚁剑去连接的话,需要一个步骤,那就是蚁剑当中需要填写该网页的cookie,不然的话会提示返回数据为空
然后我们就能连接成功啦,还有一点我们的网址要写 http://49.232.106.183/dvwa-labs/vulnerabilities/fi/?page=file:///var/www/html/dvwa-labs/hackable/uploads/webshell.jpg
2. 通过利用.htaccess文件 (我们这一关无法利用),通过它可以指定文件的解析方式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码