| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 文件包含漏洞总结 -> 正文阅读 |
|
[PHP知识库]文件包含漏洞总结 |
文件包含漏洞总结注:菜鸡笔记,酌情参考 原理程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,利用文件包含的函数引入其他文件,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 危害任意文件读取,代码注入等 ##常见文件包含函数 php :
jsp/Servlet:
asp:
本地包含###一,无限制: 跨越多级目录时可以用 …/ 表示多余的目录 eg:E:\phpstudy8.1\phpstudy_pro\WWW\text.txt —> …/…/…/www.text. 目录遍历:
###二,有限制: 源码:
为了限制,强行将所包含文件加上 .html 后缀 当作html文件执行,而又因为在www下不存在text.txt.html这个文件 所以无法执行. ###绕过方法: 1,00截断:(前提php版本小于5.3.4) eg:text.txt%00.html 会解析成为text.txt 将后面的.html截断 2,长度截断:( 服务器的操作系统,不是本机的操作系统) windows,点号长度大于256 linux,点号长度大于4096 eg:text.txt/././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././././ 点号截断:(条件:windows:长度大于256) text.txt… 远程包含PHP的配置文件\allow_url_fopen和allow_url_include设置为ON,include/require等包含函数可以加载远程文件,如果远程文件没经过严格的过滤,导致了执行恶意文件的代码,这就是远程文件包含漏洞。
###一,无限制: ###二,有限制: 测试代码:<?php include($_GET['filename'] . ".html"); ?> 1,问号绕过 2,#号绕过 3,用burpsuite跑一遍,寻找可绕过的 php伪协议
php://一,php://input 作用:可以访问请求的原始数据的只读流,在POST请求中访问POST的data部分,在 enctype="multipart/form-data"的时候php://input是无效的
二,php://filter
三,php://output 作用:只写的数据流,允许以print和echo一样的方式写入到输出缓冲区 四,php://fd 作用:允许直接访问指定的文件描述符
五,php://memory 或php://remp 作用:一个类似文件包装的数据流,允许写入临时数据,两者的唯一区别是php://memory把数据存在内存中,php://temp会在内存量达到预定义限制后(默认2mb)存入临时文件 data://作用:自PHP>=5.2.0起,可以使用data://数据流封装器,以传递相应格式的数据。通常可以用来执行PHP代码。 条件: allow_url_include=On ? allow_url_fopen:on
file://作用:用于访问本地文件系统,在CTF中通常用来读取本地文件 条件:
用法:
zip://& bzip2:// & zlib😕/作用: zip:// & bzip2:// & zlib:// 均属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名,可修改为任意后缀:jpg png gif xxx 等等。
###phar:// 作用:phar://协议与zip://类似,同样可以访问zip格式压缩包内容,在这里只给出一个示例:
参考文章 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/23 10:57:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |