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

本文涉及的产品
日志服务 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日志并进行多维度分析。
相关文章
|
3天前
|
SQL 安全 网络安全
数字堡垒之下:网络安全漏洞、加密技术与安全意识的现代博弈
在这个数字信息日益膨胀的时代,网络安全成为了保护个人隐私和企业资产的关键防线。本文将深入浅出地探讨网络安全的薄弱环节—漏洞,以及如何通过加密技术和提高安全意识来强化这道防线。我们将从漏洞的类型和发现讲起,进而解析加密技术的原理和应用,最后强调培养良好的安全习惯和意识的必要性。无论你是网络新手还是资深专家,这篇文章都将为你的安全知识库添砖加瓦。
|
2天前
|
监控 安全 算法
数字堡垒之下:网络安全漏洞与加密技术的较量
【9月更文挑战第5天】在数字化时代的浪潮中,网络安全成为了保护信息资产的盾牌。本文将深入探讨网络安全的薄弱环节—漏洞,以及如何利用先进的加密技术来加固这面盾牌。从基础概念到实际操作,我们将一步步揭示如何在网络世界中构筑一道坚不可摧的防线。
|
2天前
|
SQL 安全 网络安全
网络安全的守护者:漏洞、加密与意识的三重奏
【9月更文挑战第5天】在数字时代的交响乐中,网络安全扮演着不可或缺的守护者角色。本文将带领读者穿梭于网络世界的安全缝隙,探索加密技术的奥秘,并唤醒每一位用户内心深处的安全意识。通过深入浅出的讲解和生动的案例分析,我们将一同见证如何构建一道坚不可摧的防线,保护我们的数据不受侵犯,确保个人信息的安全。
25 9
|
3天前
|
安全 算法 网络安全
网络安全与信息安全:漏洞、加密与安全意识的三重奏
【9月更文挑战第4天】在数字时代的交响乐中,网络安全与信息安全是不可或缺的乐章。本文将深入探讨网络安全的脆弱性,揭示那些隐藏在光鲜表面下的潜在风险。我们将一同穿梭于加密技术的迷宫,解锁保护数据的神秘钥匙。更重要的是,本文将点亮一盏灯,照亮培养个人和组织安全意识的道路。通过深入浅出的分析与生动的案例,我们将共同见证网络安全的复杂性、加密技术的力量以及安全意识的重要性。让我们携手,为这场数字交响乐谱写一曲无懈可击的安全篇章。
|
3天前
|
SQL 安全 算法
数字堡垒之下:网络安全漏洞、加密技术与安全意识的三维防线
在数字化浪潮汹涌澎湃的今天,网络安全已成为维系社会稳定、保护个人隐私的重要基石。本文将深入浅出地探讨网络安全中的三大关键领域:网络漏洞的识别与防范、加密技术的原理与应用以及提升公众的安全意识。通过这三个维度,我们旨在构建一个坚实的数字堡垒,以抵御日益猖獗的网络威胁,确保信息资产的安全与隐私。
18 5
|
2天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第5天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术和安全意识等方面的内容,以帮助读者更好地了解网络安全的重要性,并提高自己的网络安全防护能力。我们将通过分析网络安全漏洞的原因和影响,介绍加密技术的基本原理和应用,以及强调安全意识在防范网络攻击中的关键作用。最后,我们将提供一些实用的建议,帮助读者保护自己的网络安全。
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第4天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术以及提升安全意识的重要性。我们将通过深入浅出的方式,解析网络安全的基础知识,并提供实用的代码示例,帮助读者更好地理解并应对网络安全挑战。
|
1天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第6天】随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的基本概念,分析常见的网络安全漏洞,探讨加密技术在保护信息安全方面的作用,并强调提高个人和组织的安全意识的重要性。通过深入浅出的方式,帮助读者了解网络安全的基础知识,提升网络安全防护能力。
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第4天】在数字化时代,网络安全和信息安全已经成为了我们生活中不可或缺的一部分。然而,随着网络技术的不断发展,网络安全漏洞也越来越多,给我们的生活带来了诸多不便。本文将介绍网络安全漏洞、加密技术和安全意识等方面的知识,帮助读者更好地了解网络安全的重要性,提高自己的安全防护能力。
|
3天前
|
存储 安全 算法
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第4天】随着互联网的普及和发展,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范意识。通过分析常见的网络攻击手段和防御策略,介绍加密技术的基本原理和应用,以及强调培养良好的安全习惯和意识的重要性。希望读者能够从中受益,增强自身的网络安全能力。
下一篇
DDNS