攻防世界-php伪协议和文件包含

fileinclude

可以看到正常回显里面显示lan参数有cookie值表示为language
然后进行一个判断,如果参数不是等于英语,就加上.php,那我们就可以在前面进行注入一个参数,即flag,
payload:COOKIE:language=flag
在这里插入图片描述
发现还是无回显到flag.php里
可能存在的文件读取限制或过滤机制
利用 php://filter 和 language Cookie 组合,通过指定convert.base64 - encode,可以将读取到的文件内容进行 Base64 编码
Payload:Cookie: language=php://filter/convert.base64-encode/resource=flag

缘由:因为服务器可能只检查直接的文件路径访问,而没有考虑到经过编码转换的情况。

得到回显值为PD9waHANCiRmbGFnPSJjeWJlcnBlYWNlezhmYzdhY2U0MzE0OTg3Mjk0ZWZiMTFmMDM4ZDM0MTM3fSI7DQo/Pg==
解码可得
在这里插入图片描述

file_include

<?php highlight_file(__FILE__); include("./check.php"); if(isset($_GET['filename'])){ $filename = $_GET['filename']; include($filename); } ?>

当使用 convert.iconv.UTF - 8.UCS - 2 过滤器时,文件内容的编码被改变,原本在 UTF - 8 编码下能被识别的危险字符或模式,在 UCS - 2 编码下可能就无法被识别,从而绕过了服务器的过滤机制。
Payload:?filename=php://filter/convert.iconv.UTF-8.UCS-2/resource=flag.php

在这里插入图片描述

check.php的内容为:

<?php if($_GET["filename"])
{ 
$preg_match_username = 'return preg_match("/base|be|encode|print|zlib|quoted|write|rot13|read|string/i", $_GET["filename"]);';if (eval($preg_match_username)){ die("do not hack!"); }
}

题目名称-文件包含

通过一开始的测试,我们可以发现显示我们有正常的过滤器,但是参数不对,那我们就开始进行模糊测试,对常见字符进行编码转换,发现还是不对,再对编码格式进行测试,先去搜索php支持的编码格式字典
放到爆破里去进行爆破,解出
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Payload:?filename=php://filter/convert.iconv.BIG-5*.UCS-4*/resource=flag.php
解出该flag
在这里插入图片描述

PHP2

参考网上大佬的资料发现,这里要用到index.phps来查看php的源代码(没用的知识又增加了)
在这里插入图片描述
代码审计发现他要求id=admin的编码,所以我们进行编码后发现还是显示错误,后面发现经过一次编码,浏览器会自动进行一次解码环节,所以我们要进行二次编码才可以,得出flag
在这里插入图片描述

simple_php

在这里插入图片描述
两者看起来都有些矛盾
但在PHP中,参数a、b,在php中如果有1234abc和数字型作为比较的话,也会默认转换为数字型做对比
所以Payload:?a=0av&b=4321abb

在这里插入图片描述

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

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

相关文章

手撕LFU

博主介绍&#xff1a;程序喵大人 35- 资深C/C/Rust/Android/iOS客户端开发10年大厂工作经验嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手《C20高级编程》《C23高级编程》等多本书籍著译者更多原创精品文章&#xff0c;首发gzh&#xff0c;见文末&#x1f447;&#x1f…

火影bug,未保证短时间数据一致性,拿这个例子讲一下Redis

本文只拿这个游戏的bug来举例Redis&#xff0c;如果有不妥的地方&#xff0c;联系我进行删除 描述&#xff1a;今天在高速上打火影&#xff08;有隧道&#xff0c;有时候会卡&#xff09;&#xff0c;发现了个bug&#xff0c;我点了两次-1000的忍玉&#xff08;大概用了1千七百…

KRaft (Kafka 4.0) 集群配置指南(超简单,脱离 ZooKeeper 集群)还包含了简化测试指令的脚本!!!

docker-compose方式部署kafka集群 Kafka 4.0 引入了 KRaft 模式&#xff08;Kafka Raft Metadata Mode&#xff09;&#xff0c;它使 Kafka 集群不再依赖 ZooKeeper 进行元数据管理。KRaft 模式简化了 Kafka 部署和管理&#xff0c;不需要额外配置 ZooKeeper 服务&#xff0c;…

Admyral - 可扩展的GRC工程自动化平台

文章目录 一、关于 Admyral相关链接资源关键特性 二、安装系统要求 三、快速开始1、启动服务 四、核心功能1、自动化即代码2、AI增强工作流3、双向同步编辑器4、工作流监控5、企业级基础设施 五、示例应用六、其他信息许可证遥测说明 一、关于 Admyral Admyral 是一个基于 Pyt…

DDR在PCB布局布线时的注意事项及设计要点

一、布局注意事项 控制器与DDR颗粒的布局 靠近原则&#xff1a;控制器与DDR颗粒应尽量靠近&#xff0c;缩短时钟&#xff08;CLK&#xff09;、地址/控制线&#xff08;CA&#xff09;、数据线&#xff08;DQ/DQS&#xff09;的走线长度&#xff0c;减少信号延迟差异。 分组隔…

计算机网络-LDP工作过程详解

前面我们已经学习了LDP的基础概念&#xff0c;了解了LDP会话的建立、LDP的标签控制等知识&#xff0c;今天来整体过一遍LDP的一个工作过程&#xff0c;后面我们再通过实验深入学习。 一、LDP标签分发 标签分发需要基于基础的路由协议建立LDP会话&#xff0c;激活MPLS和LDP。以…

解构与重构:自动化测试框架的进阶认知之旅

目录 一、自动化测试的介绍 &#xff08;一&#xff09;自动化测试的起源与发展 &#xff08;二&#xff09;自动化测试的定义与目标 &#xff08;三&#xff09;自动化测试的适用场景 二、什么是自动化测试框架 &#xff08;一&#xff09;自动化测试框架的定义 &#x…

跑不出的循环 | LoveySelf 系列定位

最近开始陷入一轮一轮的循环状态&#xff0c;无奈&#xff0c;只能自我整理一下。23年暑假&#xff0c;在计算机系折腾了一年后&#xff0c;重新打开博客&#xff0c;回想在数学系摸索博客写作的日子&#xff0c;思绪涌上心头&#xff0c;我们决定拾起这份力量。当时觉得 hexo …

Redis最新入门教程

文章目录 Redis最新入门教程1.安装Redis2.连接Redis3.Redis环境变量配置4.入门Redis4.1 Redis的数据结构4.2 Redis的Key4.3 Redis-String4.4 Redis-Hash4.5 Redis-List4.6 Redis-Set4.7 Redis-Zset 5.在Java中使用Redis6.缓存雪崩、击穿、穿透6.1 缓存雪崩6.2 缓冲击穿6.3 缓冲…

一文读懂Python之requests模块(36)

一、requests模块简介 requests模块是python中原生的一款基于网络请求的模块&#xff0c;功能强大&#xff0c;简单便捷且高效 &#xff0c;该模块可以模拟浏览器发送请求&#xff0c;主要包括指定url、发起请求、获取响应数据和持久化存储&#xff0c;包括 GET、POST、PUT、…

WPF之布局流程

文章目录 1. 概述2. 布局元素的边界框3. 布局系统原理3.1 布局流程时序图 4. 测量阶段(Measure Phase)4.1 测量过程4.2 MeasureOverride方法 5. 排列阶段(Arrange Phase)5.1 排列过程5.2 ArrangeOverride方法 6. 渲染阶段(Render Phase)7. 布局事件7.1 主要布局事件7.2 布局事件…

uniapp|获取当前用户定位、与系统设定位置计算相隔米数、实现打卡签到(可自定义设定位置、位置有效范围米数)

基于UniApp阐述移动应用开发中定位功能的实现全流程,涵盖实时定位获取、动态距离计算与自定义位置、有效范围设定等功能。文章提供完整的代码示例与适配方案,适用于社交签到、课堂教室打卡等场景。 目录 引言定位功能在移动应用中的价值(社交、导航、O2O等场景)UniApp跨平台…

Yii2.0 模型规则(rules)详解

一、基本语法结构 public function rules() {return [// 规则1[[attribute1, attribute2], validator, options > value, ...],// 规则2[attribute, validator, options > value, ...],// 规则3...]; }二、规则类型分类 1、核心验证器&#xff08;内置验证器&#xff0…

数据结构(三)——栈和队列

一、栈和队列的定义和特点 栈&#xff1a;受约束的线性表&#xff0c;只允许栈顶元素入栈和出栈 对栈来说&#xff0c;表尾端称为栈顶&#xff0c;表头端称为栈底&#xff0c;不含元素的空表称为空栈 先进后出&#xff0c;后进先出 队列&#xff1a;受约束的线性表&#xff0…

SQL Server 存储过程开发三层结构规范

以下是《SQL Server 存储过程开发三层结构规范》的正式文档结构&#xff0c;适用于企业级数据库应用开发场景&#xff0c;有助于团队协作、代码审查与自动化运维&#xff1a; &#x1f4d8; SQL Server 存储过程开发三层结构规范 一、架构设计总览 三层结构简介 层级命名约定…

接上篇,解决FramePack启动报错:“httpx.ReadError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。“的问题

#工作记录 FramePack部署&#xff08;从PyCharm解释器创建和使用开始&#xff09;保姆级教程-CSDN博客 上篇我们记录到FramePack从克隆到启动调试的保姆级教程&#xff0c;关于启动时会报以下错误的问题&#xff0c;已作出解决&#xff1a; 报错摘录&#xff1a; (.venv) PS F…

ping_test_parallel.sh 并行网络扫描脚本

并行网络扫描脚本分析&#xff1a;提高网络探测效率 引言脚本概述核心代码分析颜色定义与初始化并行处理机制并行执行与进程控制结果处理与统计 技术亮点性能分析结论附录&#xff1a;完整脚本 引言 在网络管理和运维过程中&#xff0c;快速检测网段内主机的在线状态是一项常见…

leetcode 3342. 到达最后一个房间的最少时间 II 中等

有一个地窖&#xff0c;地窖中有 n x m 个房间&#xff0c;它们呈网格状排布。 给你一个大小为 n x m 的二维数组 moveTime &#xff0c;其中 moveTime[i][j] 表示在这个时刻 以后 你才可以 开始 往这个房间 移动 。你在时刻 t 0 时从房间 (0, 0) 出发&#xff0c;每次可以移…

关于vue-office在vue3工程中的引用报错问题

在vue3项目工程中&#xff0c;根据vue-office文档在vue2中的引用&#xff1a; //引入VueOfficeDocx组件 相关样式import VueOfficeDocx from vue-office/docx;import vue-office/docx/lib/index.css; 报错信息&#xff1a; [plugin:vite:import-analysis] Failed to resolve …

【macOS常用快捷键】

以下是 macOS 最常用快捷键列表&#xff0c;按使用频率由高到低分类整理&#xff0c;涵盖日常操作、效率工具及系统控制&#xff0c;助你快速提升使用效率&#xff1a; 一、基础高频操作 快捷键功能说明Command C复制选中内容Command V粘贴Command X剪切Command Z撤销上一…