网络安全-文件包含漏洞原理、攻击及防御

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 网络安全-文件包含漏洞原理、攻击及防御

简介

文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。

类型

根据不同的配置环境,文件包含漏洞分为如下两种情况:

1.本地文件包含漏洞(LFI):仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击者更多的会包含一些固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。

2.远程文件包含漏洞(RFI):能够通过url地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码,这种情况很严重。

原理

以PHP为例,在PHP中,提供了以下文件包含函数:

  • include:找不到文件产生警告,脚本继续运行。
  • include_once:相对于include,文件被包含后不会再次被包含。
  • require:找不到文件,产生致命错误,脚本停止。
  • require_once:相对于require,文件被包含后不会再次被包含。

这些函数在代码设计中被经常使用到。大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。 但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。攻击者会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。

攻击

使用靶机:pikachu

2020062310470442.png

                                         FileInclusion(local)

我们选择一个NBA player,可以看到url,filename参数可以修改。

Windows敏感文件

Windows敏感文件

      image.png

2020062310470442.png

                                                         测试

我测试了一下,发现不可以,因为它限制了include目录下,不过,我们可以使用../来到磁盘下的任意目录。

image.png

                                         ../切换目录

结合文件上传漏洞在../../unsafeupload/uploads/下的上传的文件,可以实现php代码的运行。

仅本地文件包含

仅本地文件包含时,

可以查看本地敏感文件,如/etc/passwd等

可以包含日志文件,通过其他手段写到日志文件,如WAF日志,ssh登录日志

防御

  1. 文件包含参数写死
  2. 文件包含参数不可由用户修改
  3. 禁用目录跳转字符"../"
  4. 使用文件验证白名单

由上至下,若无法做到上一条,就在下一条补足。

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1天前
|
安全 网络安全 数据安全/隐私保护
社会工程学攻击:了解并预防心理操控的网络欺诈
社会工程学攻击:了解并预防心理操控的网络欺诈
14 7
|
3天前
|
存储 安全 算法
网络安全的屏障与钥匙:漏洞防御、加密技术与安全意识
【10月更文挑战第31天】在数字时代的海洋中,网络安全犹如灯塔指引着信息的安全航行。本文将探讨网络安全的三大支柱:网络漏洞的防御策略、加密技术的应用以及提高个人和组织的安全意识。通过深入浅出的分析,我们将了解如何构建坚固的网络防线,保护数据不受威胁,并提升整个社会对信息安全的认识和重视。
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第31天】本文将探讨网络安全和信息安全的重要性,以及如何通过理解和应用相关的技术和策略来保护我们的信息。我们将讨论网络安全漏洞、加密技术以及如何提高安全意识等主题。无论你是IT专业人士,还是对网络安全感兴趣的普通用户,都可以从中获得有用的信息和建议。
14 1
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第31天】随着互联网的普及,网络安全问题日益突出。本文将探讨网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者了解网络安全的重要性,提高自身的网络安全防护能力。
|
4天前
|
安全 算法 测试技术
网络防线的构筑者:探索网络安全漏洞与加密技术
【10月更文挑战第31天】在数字时代的浪潮中,信息安全成为我们不可忽视的盾牌。本文将深入浅出地探讨网络安全的核心问题——安全漏洞与加密技术,并强调提升个人和组织的安全意识的重要性。我们将从基础概念出发,逐步深入到防御策略、加密算法,最终聚焦于如何通过教育和实践来提高整个社会的安全防范意识。文章旨在为非专业读者提供一扇了解网络安全世界的窗口,同时为专业人士提供实用的知识分享和思考启发。
|
2天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第33天】在数字化时代,网络安全和信息安全已经成为了我们生活中不可或缺的一部分。然而,随着技术的发展,网络安全问题也日益严重。本文将从网络安全漏洞、加密技术、安全意识等方面进行探讨,以期提高大家的网络安全意识和技能。
|
2天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:漏洞、加密技术与安全意识的重要性
【10月更文挑战第33天】在数字时代,网络安全和信息安全是保护个人隐私和企业资产的关键。本文深入探讨了网络安全的漏洞、加密技术的应用以及提升安全意识的必要性。通过分析最新的网络攻击案例,本文提供了实用的防护措施和建议,旨在帮助读者构建更安全的网络环境。
9 0
|
3天前
|
安全 网络协议 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第32天】在数字时代,网络安全和信息安全已成为我们日常生活中不可或缺的一部分。本文将探讨网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的建议来保护您的个人信息和设备。无论您是个人用户还是企业,了解这些知识都是非常重要的。通过阅读本文,您将了解到网络安全的基本原理、常见的网络攻击方式以及如何防范它们。此外,我们还将介绍一些加密技术和安全工具,以帮助您更好地保护自己的数据和隐私。最后,我们将强调安全意识的重要性,并提供一些实用的技巧来提高您的安全意识。让我们一起努力,共同构建一个更加安全的网络环境!
8 0
|
3天前
|
SQL 安全 网络安全
网络安全漏洞与防护:加密技术与安全意识的重要性
【10月更文挑战第32天】在数字化时代,网络安全漏洞的发现和利用成为了信息安全领域的一大挑战。本文将探讨网络安全漏洞的类型、成因,以及如何通过加密技术和提高安全意识来防范这些风险。我们将分析常见的网络攻击手段,如SQL注入、跨站脚本攻击(XSS)和分布式拒绝服务(DDoS),并讨论如何使用加密算法和安全协议来保护数据。此外,文章还将强调用户在维护网络安全中的作用,包括识别钓鱼邮件、使用强密码和定期更新软件等实践。通过结合技术措施和人为因素,我们可以构建一个更加安全的网络环境。
|
6天前
|
存储 安全 算法
网络安全与信息安全:漏洞、加密技术及安全意识的重要性
如今的网络环境中,网络安全威胁日益严峻,面对此类问题,除了提升相关硬件的安全性、树立法律法规及行业准则,增强网民的网络安全意识的重要性也逐渐凸显。本文梳理了2000年以来有关网络安全意识的研究,综述范围为中国知网中篇名为“网络安全意识”的期刊、硕博论文、会议论文、报纸。网络安全意识的内涵是在“网络安全”“网络安全风险”等相关概念的发展中逐渐明确并丰富起来的,但到目前为止并未出现清晰的概念界定。此领域内的实证研究主要针对网络安全意识现状与问题,其研究对象主要是青少年。网络安全意识教育方面,很多学者总结了国外的成熟经验,但在具体运用上仍缺乏考虑我国的实际状况。 内容目录: 1 网络安全意识的相关