网安面经之文件包含漏洞

一、文件包含漏洞

1、文件包含漏洞原理?危害?修复?

原理:开发⼈员⼀般希望代码更灵活,所以将被包含的⽂件设置为变量,⽤来进⾏动态调⽤,但是由于⽂件包含函数加载的参数没有经过过滤或者严格的定义,可以被⽤户控制,然后包含了其他的恶意⽂件,就导致了执⾏了⾮预期的代码。然后导致客户端就可以调⽤⼀个恶意⽂件,造成⽂件包含漏洞。

危害:可能会造成读取⽂件、远程⽂件读取实现⽹站挂⻢、利⽤php://input伪协议可以执⾏任意脚本代码等危害。

修复:1、过滤:对传⼊的⽂件名进⾏过滤、对敏感路径的关键字进⾏过滤。

           2、对php.ini配置⽂件进行参数设置:

           3、对包含的文件范围做出限制:比如设置后台定义被包含⽂件的⽩名单、配置open_basedir=指定⽬录,限制访问区域、修改Apache⽇志⽂件的存放地址。

2、文件包含的函数?

3、文件包含支持的协议

1、php伪协议:fiter、input、data、zip、phar

2、file协议

3、http和https

4、文件包含的绕过?

空字符绕过、00截断(但是PHP版本必须⼩于5.3)

⻓路径:利⽤系统特性绕过waf。windowx系统中,当点号数量⼤于256个字符时,256个字符以后的内容就会被丢弃,因此可利⽤此特性进⾏绕过;Liunx系统中点号⼤于4096个。

路径双写绕过:..././..././

后缀处添加斜杠点号进⾏绕过:info.php/.

?绕过:phpinfo.php?

#绕过:直接使⽤#并不能绕过,需要输⼊编码%23才能够⽣效。phpinfo.php%23

5、日志存放路径?

apache:apache存在两个⽂件⽇志⽂件,access.log是记录登录等信息的⽇志⽂件,⽽error.log是错误⽂件。

nginx:nginx存在两个⽂件⽇志⽂件,access.log是记录登录等信息的⽇志⽂件,⽽error.log是错误⽂件。

iis:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LVDS 源同步接口

传统数据传输通常采用系统同步传输方式,多个器件基于同一时钟源进行系统同步,器件之间的数据传输时序关系以系统时钟为参考,如图1所示。系统同步传输方式使各器件处于同步工作模式,但器件之间传输数据的传输时延难以确定&#xff…

火山引擎VeDI:A/B测试平台指标能力升级,助力企业提升精细化运营效率

在数字化浪潮的推动下,数据分析与精细化运营已成为企业提升竞争力的关键。近日,火山引擎A/B测试DataTester完成了指标能力的全面升级,为企业在流量竞争激烈的市场中提供了更强大、更可信的数据支持。 此次升级亮点在于引入了“按某个属性去重…

局域网内访问vue3项目|Network: use --host to expose

背景 我希望在相同的局域网内,通过手机访问我在Vue 3项目中展示的效果 遇到的问题 使用Vue CLI的–host选项实现局域网内的应用程序测试 当使用Vue CLI在本地提供服务时,通过使用 --host 选项,你可以指定要公开应用程序的主机。默认情况下&a…

[Linux] 入门指令详解

目录 ls指令 pwd指令 whoami指令 cd指令 clear指令 touch指令 mkdir指令 rmdir指令 rm指令 man指令 cp指令 mv指令 cat指令 tac指令 more指令 less指令 head指令 tail指令 拓展:如何读取文件中间某一段内容? date指令 cal指令 fin…

代码随想录阅读笔记-动态规划【爬楼梯】

题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼…

Ubuntu上使用audit2allow解决Android Selinux问题

1.安装工具 sudo apt install policycoreutils 2.运行命令 提前用dmesg或者串口抓取kernel log 遇到错误,提示需要用-p指定policy file,然偶尝试创建一个policy空文件,用-p选项,遇到如下错误 3.规避问题 首先跟进错误log的堆栈…

C++指针和动态内存分配细节,反汇编,面试题05

文章目录 20. 指针 vs 引用21. new vs malloc 20. 指针 vs 引用 指针是实体,占用内存空间,逻辑上独立;引用是别名,与变量共享内存空间,逻辑上不独立。指针定义时可以不初始化;引用定义时必须初始化。指针的…

mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’

问题: mmdetection在训练自己数据集时候 报错‘ValueError: need at least one array to concatenate’ 解决方法: 需要修改数据集加载的代码文件,数据集文件在路径configs/base/datasets/coco_detection.py里面,需要增加meta…

【GD32F470紫藤派使用手册】第五讲 PMU-低功耗实验

5.1 实验内容 通过本实验主要学习以下内容: PMU原理; 低功耗的进入以及退出操作; 5.2 实验原理 5.2.1 PMU结构原理 PMU即电源管理单元,其内部结构下图所示,由该图可知,GD32F4xx系列MCU具有三个电源域…

驱动丹佛斯比例电磁铁放大器

驱动丹佛斯比例电磁铁是一种用于实现对液压系统连续且精确控制的通电带磁性装置。比例阀由直流比例电磁铁和液压阀两部分组成。其中,比例电磁铁是其核心部件,负责将输入的电信号转换成力和位移输出,从而控制液压阀的工作状态。比例电磁铁通过…

c语言实现十进制(整数,小数)转N进制

文章目录 先来说一下整数转N进制小数转N进制栈和队列代码地址← 今天实现了c语言整数和小数转换为对应的N进制 先来说一下整数转N进制 我们只需要不断的取模然后判断num/N是否等于0就可以了,同时我们还要保存每一组的余数 这里我们的余数是从下往上输出的,是不是就相当于后算出…

海外盲盒小程序:探索世界,发现无限可能

在数字时代,我们渴望突破地域的界限,体验不同文化,感受世界的多彩。为了满足这一需求,我们隆重推出“海外盲盒小程序”——一个让你足不出户,就能探索世界、发现无限可能的神奇平台。 一、独特的盲盒体验 打开“海外盲…

NetApp数据恢复—WAFL文件系统下raid数据恢复案例

NetApp存储数据恢复环境&故障: 某公司NetApp存储设备,人为误操作导致NetApp存储内部分重要数据被删除,该NetApp存储采用WAFL文件系统,底层是由多块硬盘组成的raid阵列。 NetApp存储数据恢复过程: 1、将NetApp存储设…

VBA在Excel中注册登录界面的应用

VBA在Excel中注册登录界面的应用(V潘谆白说VBA) 文章目录 前言一、如何注册登录?二、注册登录界面截图三、操作思路四、运行代码1.注册2.登录3.注册登录界面赋值4.隐藏工作表方法5.显示工作表方法6.打开、关闭工作薄前操作前言 Excel工作表也可以像其他小程序一样,输入账号…

【3D基础】坐标转换——地理坐标投影到平面

汤国安版GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影(Web Mercator Projection): 优点: 在 Web 地图中广泛使用,易于显示并与在线地图服务集成。在…

【Linux学习笔记】一篇文章彻底搞定 “Linux同步与互斥“ !

本章重点 1. 学会线程同步。 2 学会使用互斥量,条件变量,posix信号量,以及读写锁。 1、进程线程间的互斥相关背景概念 临界资源:多线程执行流共享的资源就叫做临界资源临界区:每个线程内部,访问临界资源的…

【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(5.使用ICC II以及FC进行物理实现)

使用IC Compiler II和Fusion Compiler进行物理实现 在完成带有行站点、电源规划和I/O放置的floorplan之后,可以继续进行物理综合和实现。Fusion Compiler提供了广泛的功能,以执行设计的平面物理实现。 图67显示了物理实现流程的一般步骤以及流程的低功耗支持特性。 图67 I…

极度内卷,消费下行,AIGC如何成为普通人易变现好上手的新机会,这几种方法一定要尝试!

最近看到一个麦肯锡报告,说到2030年,AI会替代1亿多中国人的岗位。 暂且不说这个预测是否准确,但自从AI横空出世,确实给我们的生活带来了翻天覆地的变化,有人顺势起飞,有人被时代淘汰… 李开复也曾不止一次…

47-Qt控件详解:Buttons Containers1

一 QPushButton (命令按钮) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QPushButton>//引入QPushButton类对应的头文件class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWind…

如何评估大型语言模型(LLM)?

01 简介 Introduction 随着ChatGPT和其他大型语言模型&#xff08;LLMs&#xff09;的发布&#xff0c;可用模型数量大量增加&#xff0c;现在几乎每天都有新的LLMs发布。尽管如此&#xff0c;当下仍然没有一个通用的标准来评估这些大型语言模型的质量。本文将回顾现有的大型语…