四、任意文件读取漏洞

一、介绍

解释:任意文件读取漏洞就其本身来说就是,攻击者绕过网站防御者设置的防御,读取到了正常使用者不应该读取到的内容。网站开发者使用不同的语言,任意文件读取漏洞利用方式就不同

二、不同开发语言的不同漏洞点

1.PHP

介绍:PHP的任意文件读取漏洞主要通过下面这些函数错误使用导致

1.1 PHP常用文件包含函数

  1. require():找不到被包含的文件会产生致命错误,并停止脚本运行
  2. include():找不到被包含的文件只会产生警告,脚本继续执行
  3. require_once()与require()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含
  4. include_once()与include()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含

1.2 伪协议

解释:PHP内置了很多伪协议,其可能会造成任意文件读取,执行任意命令等问题,这样的知识点是PHP“任意文件读取漏洞”的关键

文章在此:二、PHP伪协议

1.3 目录穿越

解释:因为include对内容的解析问题,存在该漏洞,包括在window上面有类似但不同的情况(如下图),下面例子cd到一个不存在的目录11515,然后../返回上一级目录,此时相当于原地踏步,这种情况可能就会导致攻击能够绕过一些正则进行目录穿越来暴力访问文件

在这里插入图片描述

<?php
include 'dwadawdaw?/../a.php';
?>
上面的例子相当于先cd 进入了dwadawdaw?这个目录发现其不存在,然后执行../a.php,翻译过来相当于include 'a.php';

include 'dwadawdaw?/../../a.php'; 等价于include '../a.php';

1.4 任意代码执行

解释:在php里面include函数,在执行的时候,如果可以将被包含文件里面的内容当做php代码执行,也就是说,比如include包含了一个png文件,但是里面写的都是php代码,这个png就会被当作php代码去执行,如果此时png里面是一句话木马的话,此时网站就被攻击者植入了webshell

例如:
在这里插入图片描述
解释:从上图文件可知道,page对应include加载的文件,a文件内容如下,其并非php后缀文件但是却被当作php执行了

<?php
echo 'odwadawdwak';
?>

1.5 远程文件包含

解释:当php配置项allow_url_includeallow_url_fopen状态为ON的话,则include/require函数是可以加载远程文件,远程文件->其它服务器上的php文件,这种设置如果代码存在文件包含漏洞可能会造成致命的威胁

三、重要文件的作用

解释:当我们发现文件读取漏洞,一般会对重要文件进行读取,例如/etc/passwd,下面就会说我们能够从这些文件中获取哪些有用的信息

  • /etc/passwd:Linux系统保存用户信息及其工作目录的文件,读到这个文件我们就可以知道系统存在哪些用户、他们所属的组是什么、工作目录是什么;其中目录为/home/xxx一般是普通用户,其它一般是软件用户(权限:所有用户/组可读)
    在这里插入图片描述

  • /etc/shadow:Linux系统保存用户信息及密码(hash)的文件,比/etc/passwd更加具备价值;其中有用户的哈希密码,如果获取可能在本地进行碰撞获取明文(权限:所有者具有读写权限,属组(shadow)具有只读权限,其他用户没有任何权限)
    在这里插入图片描述

  • /etc/apache2/:apache的配置文件保存在此目录下面,/etc/apache2/apache2.conf是主配置文件,/etc/apache2/sites-enabled下面有具体的包括网站路径端口域名等配置(如下图)
    在这里插入图片描述

  • /etc/nginx/:nginx的配置文件保存在此目录下面,/etc/nginx/nginx.conf是主配置文件,/etc/nginx/sites-enabled下面有具体的包括网站路径端口域名等配置(如下图)
    在这里插入图片描述

  • /proc:通常存储着进程动态运行的各种信息,本质上是一种虚拟目录,如果遇到文件读取漏洞,可以通过读取

    • /proc/self/cmdline读取一些敏感信息(可能有当前项目启动时,启动命令例如:python3 app.py);
    • /proc/[pid]/cmdline则与上面类似,读取pid号对应进行的一些敏感信息
    • /proc/self/mem:其是一个特殊文件,它提供对当前进程地址空间的访问,例如在Flask里面启动项目加载一个密钥,其就存在于此文件中,可以先通过/proc/self/maps(其里面包含进程相关的启动地址、结束地址、权限、内存区域对应文件的路径),下面演示相关代码由于篇幅问题在另一篇文章:Flask存储在内存中的密钥被读取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

韶音、南卡、Oladance开放式耳机值得买吗?超强机型对比环节!

​虽然很多耳机音频爱好者最近都爱上了使用开放式耳机&#xff0c;但是作为一个7年音频数码测评的老司机&#xff0c;我还是要提醒一下&#xff0c;目前有很多的开放式耳机过分强调外观颜值设计&#xff0c;在音质体验和佩戴舒适性上的效果极差&#xff0c;还会有很多漏音、破音…

cesium设置近地天空盒 多种效果(附天空盒原图)

效果&#xff08;天空盒原图已放云盘在文章最后&#xff09;&#xff1a; 为了效果逼真设置了当达到一定高度时就恢复系统默认星空天空盒所&#xff0c;以设置了两个变量 一个是近地的天空盒子一个是当超过一定高度时用系统默认的 let currSkyBox; // 当前生效的Skybox let de…

OpenCV——图像按位运算

目录 一、算法概述1、逻辑运算2、函数解析3、用途 二、代码实现三、结果展示 OpenCV——图像按位运算由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、算法概述 1、逻辑运算 OpenCV4 针对两个图像之…

Android studio 简单登录APP设计

一、登录界面: 二、xml布局设计: <LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:layout_editor_absoluteX="…

二、基础篇 vue计算属性和侦听器

计算属性 模板内的表达式非常便利&#xff0c;但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如&#xff1a; <div id"example">{{ message.split().reverse().join() }} </div> 在这个地方&#xff0c;模板不…

Scratch图形化编程如何快速从入门到精通

Scratch是一款由麻省理工学院媒体实验室开发的图形化编程工具&#xff0c;它以拖拽式的编程方式&#xff0c;让编程变得简单易懂&#xff0c;适合所有年龄段的人学习。无论是初学者还是有一定编程基础的人&#xff0c;都可以通过Scratch快速上手并深入学习。下面&#xff0c;65…

徐州数字孪生元宇宙赋能工业智能制造,助力传统制造业数字化转型

徐州数字孪生元宇宙赋能工业智能制造&#xff0c;助力传统制造业数字化转型。在徐州市制造业企业数字化转型的过程中&#xff0c;数字孪生技术的应用已经取得了显著成效。一方面&#xff0c;企业的生产效率得到了显著提高&#xff0c;产品质量也得到了有效保障。另一方面&#…

Postgresql 12.2 + PostGIS 3.0.1 安装部署

参考文档&#xff1a; 按照该文档安装即可&#xff0c;如果遇到报错&#xff0c;可以参考下文&#xff1a; https://blog.csdn.net/weixin_41166785/article/details/127674169 所需的安装包 在资源里面&#xff08;我看下怎么可以不用积分下载&#xff09; 1、no acceptable…

数据结构与算法-二叉树-后序遍历

二叉树的后续遍历 给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[3,2,1]递归版本实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;*…

萌宠宠物用品商城设计与制作-计算机毕业设计源码79718

摘要 在社会快速发展的影响下&#xff0c;宠物商城继续发展&#xff0c;大大增加了宠物用品的数量、多样性、质量等等的要求&#xff0c;使宠物用品商城的管理和运营比过去十年更加困难。依照这一现实为基础&#xff0c;设计一个快捷而又方便的萌宠宠物用品商城是一项十分重要并…

GaussDB数据库中的MERGE INTO介绍

一、前言 二、GaussDB MERGE INTO 语句的原理概述 1、MERGE INTO 语句原理 2、MERGE INTO 的语法 3、语法解释 三、GaussDB MERGE INTO 语句的应用场景 四、GaussDB MERGE INTO 语句的示例 1、示例场景举例 2、示例实现过程 1&#xff09;创建两个实验表&#xff0c;并…

MySql前言

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;MySql&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 数据库有哪些软件&#xff1f;&#xff1f; Mysql MySql数…

Android-网络基础

http 与 https 的区别&#xff1f;https 是如何工作的&#xff1f; http 是超文本传输协议&#xff0c;而 https 可以简单理解为安全的 http 协议。https 通过在 http 协议下添加了一层 ssl 协议对数据进行加密从而保证了安全。https 的作用主要有两点&#xff1a;建立安全的信…

西瓜书读书笔记整理(十一) —— 第十一章 特征选择与稀疏学习

11.1 子集搜索与评价 11.1.1 基本概念 特征&#xff08;feature&#xff09;&#xff1a;在机器学习中&#xff0c;特征 是指从数据中提取的用于描述样本的属性或信息。 相关特征&#xff08;relevant feature&#xff09;&#xff1a;对当前学习任务有用的属性称为 “相关特…

Mindspore 公开课 - prompt

prompt 介绍 Fine-Tuning to Prompt Learning Pre-train, Fine-tune BERT bidirectional transformer&#xff0c;词语和句子级别的特征抽取&#xff0c;注重文本理解Pre-train: Maked Language Model Next Sentence PredictionFine-tune: 根据任务选取对应的representatio…

Unity 编辑器篇|(六)编辑器拓展EditorGUI类 (全面总结 | 建议收藏)

目录 1. 前言2. 参数3. 功能3.1 折叠菜单&#xff1a; Foldout3.2 检查 GUI 更改&#xff1a; BeginChangeCheck 、EndChangeCheck 监听值改变3.3 可禁用控件&#xff1a;BeginDisabledGroup 、EndDisabledGroup 是否禁用组中的控件3.4 下拉菜单&#xff1a;DropdownButton3.5 …

6314A/B/C 稳定光源

01 6314A/B/C 稳定光源 产品综述&#xff1a; 6314系列稳定光源包括6314A稳定光源(1310NM单波长)、6314B稳定光源(1550NM单波长)、6314C稳定光源(1310NM &1550NM双波长)。6314系列稳定光源采用高精度自动功率控制技术和自动温度控制技术。6314系列稳定光源配备多种模块&…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十二)

购物车相关 1.添加购物车1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码开发1.2.1 DTO设计1.2.2 Controller层1.2.3 Service层接口1.2.4 Service层实现类1.2.5 Mapper层 2. 查看购物车2.1 需求分析和设计2.1.1 产品原型2.1.2 接口设计 2.2 代码开发2.2.…

(001)window 使用 OpenObserve

文章目录 安装上传数据报错附录 安装 1.下载安装包&#xff1a; 2. window 设置环境变量&#xff1a; ZO_ETCD_COMMAND_TIMEOUT 600 ZO_ETCD_CONNECT_TIMEOUT 600 ZO_ETCD_LOCK_WAIT_TIMEOUT 600 ZO_INGEST_ALLOWED_UPTO 10000 ZO_ROOT_USER_EMAIL 422615924qq.com ZO_…

Linux网络--- SSH服务

一、ssh服务简介 1、什么是ssh SSH&#xff08;Secure Shell&#xff09;是一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令&#xff0c;SSH 为建立在…