文件上传漏洞渗透及防御_1 | 学习笔记

简介: 快速学习 文件上传漏洞渗透及防御_1

开发者学堂课程【网络安全攻防 - Web渗透测试文件上传漏洞渗透及防御_1学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/630/detail/9897


文件上传漏洞渗透及防御_1


内容介绍

1.  实验原理

2.  DVWA 文件上传漏洞

3.  低安全级别下的漏洞


一.实验原理

在实验环境准备就绪后,打开渗透测试机,本次渗透测试实验针对的是上传漏洞。

提起文件上传,大家会想到注册论坛时上传头像、文件等,最常见的是上传图像,也可能上传文件或PDF资源。

如果没有对上传信息检测,导致用户上传了代码,这就可能导致用户通过上传代码获得程序的使用权限。

image.png

1、文件上传( File Upload )是大部分 Web 应用都具备的功能,例如用户上传附件、修改头像、分享图片/视频等。最常见的是上传图像,也有可能上传 PDF 文件。

2、正常的文件一般是文档、 图片、视频等, Web 应用收集之后放入后台存储,需要的时候再调用出来返回。

3、如果恶意文件如 PHP、ASP 等执行文件绕过 web 应用,并顺利执行,则相当于黑客直接拿到了 Webshell。传统防火墙无法阻挡这些,举例说明,端口开放就像店铺开门做生意,好人坏人都可以进来。

4、一旦黑客拿到webshell,则可以拿到 Web 应用的数据,删除 web 文件,本地提权,进步拿下整个服务器甚至内网。Webshell 负责控制网站。

例:如果在上传图像的过程中没有设置过滤,会导致程序也会被轻松上传,导致 Web 应用失去控制权。

5、SQL 注入攻击的对象是数据库服务,文件上传漏洞主要攻击 web 服务,实际渗透两种相结合,达到对目标的深度控制。


二.DVWA 文件上传漏洞

首先打开靶机192.168.106.134,看到许多应用,早期应用都带有一定漏洞。

image.png

上图都是靶机,靶机只是为了让用户每一步都得到响应,用户查看的是开发人员才能看到的源码。最常用的靶机有两种,分别是 Damn Vulnerable Web ApplicationDVWA)OWASP Mutillidae Ⅱ。将 DVWA 翻译成中文是糟糕的Web 应用程序,在应用 DVWA 时,注意用户名和密码都是 admin

image.png

登陆后进入上面这一页面,页面左侧每个选项都代表一种漏洞,XSS 开头代表跨站攻击脚本,Upload 代表文件上传,SQL 代表 SQL 注入,CSRF 代表跨站请求伪造,Insecure CAPTCHA 代表文件,这个页面模拟了开发者开发出的糟糕Web程序。

首先进入 Upload,这个选项要求用户上传图像,按常理,用户只需选中图像,上传即可。但是在上传的过程中,如果像下图所示,上传一个 PHP 脚本,也会显示上传成功。

image.png

因为开发者并没有在开发程序时进行检测,导致任意文件都可以被上传上去,包括木马等病毒程序,这种问题就叫做文件上传漏洞。首先文件上传行为本身是正常的,既然开了程序,开发者就是希望用户将文件按规则上传,但如果未检测导致上传了一些木马文件就叫做漏洞,这种漏洞会导致网站数据被修改删除甚至盗用。

如果一句话木马被上传后,通过利用中国菜刀,开发者将丧失使用权限。并不是所有步骤都有这种漏洞,但主站或子站中有任何一步有这些漏洞,程序就将陷入危险。


三.低安全级别下的漏洞

使用这一应用时需注意以下几点。

1. DVWA Security 是靶机的安全级别设置,点击可以设置不同的安全级别,如下图。

image.png

image.png

高级安全级别可以适当过滤文件,但仍有风险

1. View Source 为查看低安全级别时的源代码。

这种源码在正常网页是无法看到的,只是靶机配合查看漏洞。

可以看出,第一第二行源代码中并没有做任何检测,只有上传与提交步骤,是一个非常糟糕的程序。

在这种情况下,将文件路径上传到浏览器,得到一个“密码”在中国菜刀中添加 ARLETC 与文件数据都可以清晰得出,右键选择虚拟终端后,甚至可以链接本机的服务器。

在低安全级别下,可以上传任何形式,任何大小的文件,开发人员在低安全情况下甚至会丧失权限。

而前端源码与后端不同,这种架构过程中,用户只能查看到前端源码,DVWA 中的后端源码是为了方便用户直观查看漏洞而设置的,正常网页源码与 DVWA 不同。

一个客户端请求网站,访问的是静态资源,客户端浏览器进行渲染后会得到各种页面。在 PAP 程序下,收到请求的是NJX,在遇到后缀为 PAP 的程序时,执行后将结果交给 NJX,将 NJX 交给客户端,所以客户端永远看不到动态代码,只能看到静态结果。

总之,客户端无法看到动态结果,在正常情况下右键查看源码只能看到结果,在使用时要注意区分靶机与正常情况。

相关文章
|
3月前
|
开发框架 安全 .NET
Web安全-文件上传漏洞与WAF绕过
Web安全-文件上传漏洞与WAF绕过
207 4
|
2月前
|
存储 SQL 开发框架
文件上传漏洞 原理利用防御实战
文件上传漏洞 原理利用防御实战
|
5月前
|
安全 前端开发 PHP
EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施
通过本文,我们深入探讨了文件上传漏洞攻击的多种案例和防范措施,以及在搭建攻击靶场时的实际操作。从前端和后端的校验漏洞,到利用Apache配置文件和文件包含漏洞的攻击方式,每一步都展示了安全防护的重要性。 在学习和实践过程中,我们不仅仅关注如何进行攻击,更着重于如何保护自己的服务器免受此类攻击。我们使用了EdgeOne作为一个解决方案的示例,展示了如何利用其提供的防护规则来有效防御文件上传漏洞。 无论是在靶场搭建过程中的细节操作,还是在攻击案例的分析过程中,安全意识和防护措施的实施都显得至关重要。通过本文,希望读者能够更深入地理解和应用这些安全原则,以保护自己的网络和服务器免受攻击的威胁。
|
5月前
|
SQL 监控 安全
探索网络安全:浅析文件上传漏洞
网络安全是一场没有硝烟的战争,它要求我们时刻保持警惕,不断学习与适应。无论是采用强密码、数据加密,还是定期更新软件、安装安全软件,每一项措施都是我们构建网络安全防线的基石。同时,我们也应意识到,技术手段之外,提升安全意识、培养安全习惯同样至关重要。
|
7月前
|
存储 安全 前端开发
【网络安全】文件上传漏洞
【网络安全】文件上传漏洞
176 1
【网络安全】文件上传漏洞
|
存储 SQL JSON
AntiSamy:防 XSS 攻击的一种解决方案使用教程
AntiSamy:防 XSS 攻击的一种解决方案使用教程
934 0
AntiSamy:防 XSS 攻击的一种解决方案使用教程
|
开发框架 安全 前端开发
【网络安全】护网系列-web漏洞(文件上传漏洞、文件包含漏洞)
【网络安全】护网系列-web漏洞(文件上传漏洞、文件包含漏洞)
401 0
|
开发框架 安全 JavaScript
网络安全-文件上传漏洞的原理、攻击与防御
网络安全-文件上传漏洞的原理、攻击与防御
697 0
网络安全-文件上传漏洞的原理、攻击与防御
|
开发框架 安全 Java
【每日渗透笔记】文件上传绕过尝试
【每日渗透笔记】文件上传绕过尝试
333 0
【每日渗透笔记】文件上传绕过尝试
|
开发框架 安全 前端开发
2022渗透测试-文件上传漏洞的详细讲解
2022渗透测试-文件上传漏洞的详细讲解
2022渗透测试-文件上传漏洞的详细讲解

热门文章

最新文章