【网络安全】文件包含漏洞解析

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 文件包含漏洞解析

 

博主昵称:跳楼梯企鹅

创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;

image.gif图片.png

一、原理

随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用户对这个变量可控而且服务端又没有做合理的校检或者校检被绕过就造成了文件包含漏洞。

二、常见的文件包含函数

1.include

当使用该函数包含文件时,只有代码执行到include()函数时才将文件包含进来,发生错误时之给出一个警告,然后继续向下执行。

2.include_once()

Require()与include()的区别在于require()执行如果发生错误,函数会输出错误信息,并终止脚本的运行。

3.require()

Require()与include()的区别在于require()执行如果发生错误,函数会输出错误信息,并终止脚本的运行。

4.require_once()

功能与require()相同,区别在于当重复调用同一文件时,程序只调用一次。

5.highlight_file()、show_source()

函数对文件进行语法高亮显示,通常能看到源代码

6.readfile()、file_get_contents()

函数读取一个文件,并写入到输出缓冲

三、文件包含分类

1.本地文件包含

当被包含的文件在服务器本地时,就形成的本地文件包含漏洞。

2.远程文件包含

要实现远程的文件包含,那么需要满足两个条件在php.ini中。当php.ini 中的配置选项allow_url_fopen和allow_url_include为ON的话,那么就可以实现远程文件包含。就是通过包含第三方服务器的文件,来进行包含。

四、php伪协议

php常用伪协议

伪协议 解释
file:// 访问本地文件系统
http:// 用于远程文件包含
php://

php://input----写入一句话木马,用POST的方式执行代码

php://filter----通常用来读取源码

zip://  &   zlib:// 压缩流,可以读取压缩包里面的子文件当做代码解析
data:// 数据流   可以用get请求的方式执行代码
phar:// 他的作用和zip一样,但是写法不一样

五、绕过姿势

1.本地绕过

<1>路径长度截断

条件:在 windows系统中,文件后缀最大长度256字节,在Linux中最大长度是4096字节 , 超出的部分会被丢弃

例如:

.....或者 /.    --------进行绕过

image.gif

<2>00截断

00截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符时,就认为读取到了一个字符串的结束符号。因此,我们可以通过修改数据包,插入\0字符的方式,达到字符串截断的目的。00截断通常用来绕过web软waf的白名单限制。

2.远程绕过

远程绕过

绕过方式
?绕过
samba绕过

%23绕过

以上的绕过方式会单独出一篇文章进行讲解

六、日志包含

1.意思

利用日志文件来包含,日志文件是可读的

2. 条件

allow_url_fopen为ON
allow_url_include为ON

image.gif

并且要知道日志的路径

想要知道绝对路径可以通过phpinfo进行探测,也可以进行猜测日志文件,一般情况下任何配置文件都会定义好路径,所以可以进行尝试。

3.演示

通过日志写入一句话木马

(1)我们通过phpinfo查询日志的绝对路径

image.gif图片.png

(2)根据路径查看代码

image.gif图片.png

(3)任意访问,查看时候记录日志了

image.gif图片.png

(4)打开日志

image.gif图片.png

发现确实存储进去了

(5)利用网址进入目录

image.gif图片.png

(6)进行一句话木马写入

image.gif图片.png

(7)需要抓包改一下编码继续写入

image.gif图片.png

(8)验证

image.gif图片.png

(9)查看效果

image.gif图片.png

这里是因为编码问题所以看这个很乱,但是能看到是存在ip的

七、session包含

三个条件

1.找到session位置

找位置的方法
<1>phpinfo()     通过查找session找路径
<2>猜测日志文件的默认 保存路径
<3>包含配置文件,找到配置文件的存储位置
image.gif

2.里面的内容可以控制

3.知道session的文件名

七、CMS管理系统

在这里给大家介绍两款CMS管理系统

1.74CMS

image.gif图片.png

2.DedeCMS

image.gif图片.png

方便大家对远程文件包含进行学习练习

image.gif图片.png

相关文章
|
21天前
|
Java
Java“解析时到达文件末尾”解决
在Java编程中,“解析时到达文件末尾”通常指在读取或处理文件时提前遇到了文件结尾,导致程序无法继续读取所需数据。解决方法包括:确保文件路径正确,检查文件是否完整,使用正确的文件读取模式(如文本或二进制),以及确保读取位置正确。合理设置缓冲区大小和循环条件也能避免此类问题。
|
19天前
|
自然语言处理 数据处理 Python
python操作和解析ppt文件 | python小知识
本文将带你从零开始,了解PPT解析的工具、工作原理以及常用的基本操作,并提供具体的代码示例和必要的说明【10月更文挑战第4天】
175 60
|
6天前
|
存储 安全 网络安全
网络安全的屏障与钥匙:漏洞防御与加密技术深度解析
【10月更文挑战第20天】在数字世界的迷宫中,网络安全是守护我们数据宝藏的坚固盾牌和锋利钥匙。本篇文章将带您穿梭于网络的缝隙之间,揭示那些潜藏的脆弱点—网络安全漏洞,同时探索如何通过现代加密技术加固我们的数字堡垒。从基本概念到实战策略,我们将一同揭开网络安全的神秘面纱,提升您的安全意识,保护个人信息不受侵犯。
40 25
|
7天前
|
存储 监控 安全
深入解析Sysmon日志:增强网络安全与威胁应对的关键一环
在不断演进的网络安全领域中,保持对威胁的及时了解至关重要。Sysmon日志在这方面发挥了至关重要的作用,通过提供有价值的见解,使组织能够加强其安全姿态。Windows在企业环境中是主导的操作系统,因此深入了解Windows事件日志、它们的独特特性和局限性,并通过Sysmon进行增强,变得至关重要。
|
12天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
21天前
|
安全 网络安全 API
网络安全的盾牌与剑:漏洞防御与加密技术解析
【10月更文挑战第5天】在数字时代的浪潮中,网络安全成为保护个人隐私与企业资产的关键战场。本文深入浅出地探讨了网络安全中的两大核心要素——安全漏洞与加密技术,旨在提升公众的安全意识,并分享实用的防护知识。通过分析常见的网络攻击手段和防御策略,文章揭示了网络安全的本质,强调了预防胜于治疗的智慧。
40 5
|
17天前
|
SQL 安全 网络安全
网络安全与信息安全:防范措施与加密技术解析
【10月更文挑战第9天】在数字化时代,网络安全与信息安全已成为我们日常生活中不可或缺的一部分。本文将深入探讨网络安全漏洞、加密技术和安全意识等方面的内容,以帮助读者更好地了解和应对网络安全威胁。通过分享相关知识和案例分析,我们希望提高大家对网络安全的认识和重视程度,共同维护一个安全、可靠的网络环境。
20 0
|
19天前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
39 0
|
19天前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
29 0
|
19天前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
33 0

推荐镜像

更多