当前位置: 首页 > article >正文

初次文件包含漏洞

1.文件包含漏洞介绍

1.1.文件包含漏洞解释  

 文件包含漏洞就是使用函数去包含任意文件的时候,当包含的文件来源过滤不严谨的时候,当存在包含恶意文件后,就可以通过这个恶意的文件来达到相应的目的。

1.2.文件包含漏洞原理   

其实原理就是由于在代码开发的过程中,有时候会遇到相同的代码,不想重复输入,就将代码单独写在一个文件里面,当遇到的时候就直接调用该文件进行运行,而这种方式就会导致客户端可以调用其他的恶意文件,通过恶意文件造成文件包含漏洞。   但是前提也是当文件包含的代码文件被当作一个变量来使用,并且能够被用户传入参数,如果没有对该变量做相应的安全防护,就可能会引发出文件包含漏洞。

1.3.文件包含的函数

1.3.1.常见的文件包含函数

PHP:include() 、include_once()、require()、require_once()
JSP/Servlet:ava.io.file()、java.io.filereader()
ASP:include file、include virtual

1.3.2.PHP函数区别:  

 文件包含漏洞在PHP中是比较多的,像JSP、ASP这方面的漏洞是比较少的,但这并不是说就不存在。   

include:包含并运行指定的文件,包含文件发生错误时,程序警告,但会继续执行。   include_once:和 include 类似,不同处在于 include_once 会检查这个文件是否已经被导入,如果已导入,下文便不会再导入,直面 once 理解就是只导入一次。   

require:包含并运行指定的文件,包含文件发生错误时,程序直接终止执行。   require_once:和 require 类似,不同处在于 require_once 只导入一次。

1.4.文件包含漏洞特征   其实在文件包含在URL中能够明显的看出来,但是不代表含有这些特征就一定有文件包含漏洞。只不过有这些特征可以进行判断是存在文件包含的,但是能不能利用是另一方面。

比如:

http://www.xxx.com/index.php/?name=x.php
http://www.xxx.com/index.php/?file=index2

1.5.文件包含漏洞分类

1.5.1.本地文件包含漏洞  

本地文件包含,通过意思就能够理解,就是在条件允许的情况下,所谓的条件允许也就是安全防护没做到位,通过这个条件对文件路径加 载文件,就形成了本地文件包含。

  1.5.1.1.本地文件包含漏洞案例 例如php代码

<?php
$filename=$_GET[name];
include($filename);
?>

在我网站根目录下面有一个index.php,通过文件包含进行执行,就形成了本地文件包含,若这个name参数能够被用户控制,那么就形成了本地文件包含漏洞。

image-20240318115328083

1.5.2.远程文件包含漏洞  

 远程文件包含漏洞导致的原因和本地文件包含漏洞造成的原因是一样的,只不过远程文件包含漏洞是利用外部的服务器中的文件进行执行,就形成了远程文件包含漏洞。  

 但是前提是需要在php.ini中的配置选项中allow_url_fopen和allow_url_include为ON。

image-20240318115537003

1.6.文件包含漏洞危害  

 读取WEB服务器上的配置文件以及WEB服务器上的敏感文件,并且若和webshell联动,并将恶意代码执行将造成更大的危害,通常来说远程文件包含漏洞危害更大。


http://www.kler.cn/a/273739.html

相关文章:

  • js实现一个可以自动重链的websocket客户端
  • 【通俗理解】AI的两次寒冬:从感知机困局到深度学习前夜
  • Flutter:打包apk,安卓版本更新(二)
  • 在 macOS 中,设置自动将文件夹排在最前
  • SQL Server中可以通过扩展事件来自动抓取阻塞
  • 这是什么操作?强制迁移?GitLab 停止中国区用户访问
  • 关于相机与镜头的选型
  • 使用ansible剧本进行lvm分盘
  • phpStudy安装thinkCMF8时,如何解决服务器rewrite和APIrewrite不支持的问题
  • UGUI源码分析与研究1-UGUI底层的实现原理
  • Java后端面试:框架篇高频面试(Spring、SpringMVC、SpringBoot、MyBatis)
  • 【渗透工具】BurpSuite汉化无cmd框版安装教程
  • Flutter-自定义图片3D画廊
  • 蓝桥杯刷题总结(Python组)
  • 信雅纳网络测试的二次开发集成:XOA(Xena Open-Source Automation)开源自动化测试
  • 目标检测——YOLOv5算法解读
  • 高架学习笔记之信息系统分类概览
  • 比较两个数组对象,找出属性id相同的项并删除
  • P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python
  • 爬虫技术实战案例解析
  • Java基础知识总结(6)
  • 超分之SwinIR
  • 【NLP学习记录】One-Hot编码
  • 电商api数据接口技术开发来赞达lazada通过商品ID抓取商品详情信息item_get请求key接入演示
  • 代码随想录--排序算法
  • LeetCode 面试经典150题 27.移除元素