我的编程空间,编程开发者的网络收藏夹
学习永远不晚

WEB渗透之文件包含漏洞

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

WEB渗透之文件包含漏洞

1.文件包含

1.1原理:

服务器执行的php文件中可能包含木马文件或者恶意代码

1.2漏洞产生原因

web采用include()等文件包含函数通过动态变量的方式引入需要包含的文件

静态包含使用include指令,动态包含使用include动态标签

静态包含(include指令):<%@include file="需要包含的文件地址("%>

动态包含(include动态标签):

静态文件和动态文件的区别_LifeAnLearn的博客-CSDN博客_静态文件和动态文件的区别

客户端可以控制动态变量(即这个变量用前端用户传进的)

1.3可能出现的情况

本地文件包含漏洞:被包含文件在服务器本地,在这种情况下,攻击者会包含一些固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的漏洞。

服务器中的静态资源和动态资源_Pr Young的博客-CSDN博客-------->这个就说明了被包含的文件既可能是动态文件也可能是静态文件。

远程文件包含漏洞:能够通过url地址对远程的文件进行包含(这里应该是指执行url地址中所包含的远程文件)

要求:必须要开启allow_url_include和allow_url_fopen,即两者参数均显示为on

在php.ini中,allow_url_fopen一直默认为on,而allow_url_include从php5.2之后一直默认为off

1.4文件包含函数

include(文件地址)     //找不到被包含文件时发出警告,但依旧会继续执行程序include_once()       //文件被重复包含时只包含一次require()            //找不到包含文件时补鞥继续执行require_once()

2.php文件包含

2.1php文件包含的特点

无视文件后缀(类型),即只要满足为PHP语言,则就会执行

2.2文件包含漏洞

攻击者思路:

通过访问并不存在的文件,得到相关的传递路径

读取敏感文件

包含的文件为系统配置文件,从而得到相关的敏感信息

本地包含配合文件上传(这里的部分知识在文件上传里面)

即包含的文件

远程包含shell

allow_url_include开启

包含Apache日志文件

找到Apache路径,利用包含漏洞包含日志文件获取Webshell。(很多时候,web服务器会将请求写到日志文件中,可获得客户端地址,访问者标识,访问者的验证名字,请求时间,请求类型,状态码以及发送给客户端的字节数)

包含SSH日志文件

把用户名写成"phpinfo",ssh的登录日志就会把此次的登录行为记录到日志中

包含session文件

session:存在服务端,一般用于跟踪会话

PHP封装伪协议

PHP伪协议(封装协议/内置协议)_吃_早餐的博客-CSDN博客_php封装协议

实战练习题

第一题

攻防世界

打开题目得到:

需要了解的前置知识:  PHP highlight_file()用法及代码示例 - 纯净天空

来源地址:https://blog.csdn.net/qq_65395016/article/details/127432622

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

WEB渗透之文件包含漏洞

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录