WEB:题目名称-文件包含

news2024/11/26 12:44:33

背景知识

        

题目

 

题目了文件包含,所以想到了php伪协议

构造payload尝试读取flag.php

/?filename=php://filter/read=convert.base64-encode/resource=flag.php

 

 页面提示“do not hack”猜测可能是黑名单检测敏感字符串。猜测字符串哪些被禁用,这里输入单个字符串

构造payload

/?filename=base64

仍提示“do not hack”

构造payload

/?filename=convert

没有提示 "do not hack!",可以推测 "base64" 字符串在黑名单里。经过调试,"base64"、"string"、"read" 等都在黑名单里。 

在这里测试一下能不能用data://(涉及php.in的allow_url_include配置)

构造payload

/?filename=data://text/plain,1234567

 如果成功则会返回1234567,但是页面无,所以知道没有开启 allow_url_include

现在考虑 php://filter 有没有其他过滤器可以用

convert.iconv 相当于用了 iconv() 函数,这个函数是转换数据的字符集,比如 iconv("ASCII", "UTF-8", $string),也就是说只转换数据的表现形式,拿到数据之后,再把它的字符集转回来就行了。

利用姿势,把flag.php的内容从UCS-2LE.UCS编码转换为UCS-2BE编码

构造payload

/?filename=php://filter?convert.iconv.UCS-2LE.UCS-2BE/resource=flag.php

还是不行, 但是还有很多字符集可以尝试

UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*

用 bp爆破,暴力破解 intruder 模块有个“cluster bomb” (集束炸弹)模式,可以把上面所有的 16 个字符集格式做一个笛卡尔积,生成 256(16 *16)个请求。

设置位置 1 和位置 2 使用的字典,都是同一个

 

爆破完成后可发现flag

或者

设置payload

/?filename=php://filter/convert.iconv.UTF-7.UCS-4*/resource=flag.php

 参考文章链接:

攻防世界 - (题目名称-文件包含)_封于修x的博客-CSDN博客

php://filter_php://filter/_木…的博客-CSDN博客

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

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

相关文章

【算法与数据结构】144、94、145LeetCode二叉树的前中后遍历(递归法、迭代法)

文章目录 一、题目二、递归算法三、迭代算法3.1 迭代算法13.2 迭代算法2 ——统一风格写法 四、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归算法 思路分析:这道题比较简单,不多说…

LCD—STM32液晶显示(2.使用FSMC模拟8080时序)

目录 使用STM32的FSMC模拟8080接口时序 FSMC简介 FSMC NOR/PSRAM中的模式B时序图 用FSMC模拟8080时序 重点:HADDR内部地址与FSMC地址信号线的转换(实现地址对齐) 使用STM32的FSMC模拟8080接口时序 ILI9341的8080通讯接口时序可以由STM32使…

PHP要怎么学--【强撸项目000】

强撸项目 总目录在000集 文章目录 本系列校训学习资源的选择环境的问题本人推荐 PHP视频的知识点分析总结题外话 本系列校训 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞&a…

sqli-labs 堆叠注入 解析

打开网页首先判断闭合类型 说明为双引号闭合 我们可以使用单引号将其报错 先尝试判断回显位 可以看见输出回显位为2,3 尝试暴库爆表 这时候进行尝试堆叠注入,创造一张新表 ?id-1 union select 1,database(),group_concat(table_name) from informatio…

给你一个网站,你如何测试?

首先,查找需求说明、网站设计 等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分: 功能性测试;界面测试;性能测试;数据库测试;安全…

AD如何查看PCB完成度?快来看这篇文

在Altium Designer(AD)中,很多工程师通过使用Design Rule Check(DRC,常用于检查PCB设计是否符合设计规范和要求)功能来检查PCB设计的完成度,但很多小白不太熟悉怎么去使用DRC,下面来…

深入浅出C语言—【函数】下

目录 5. 函数的嵌套调用和链式访问5.1嵌套调用5.2 链式访问 6. 函数的声明和定义6.1 函数声明6.2 函数定义 7. 函数递归👑7.1 什么是递归?7.2 递归的两个必要条件7.2.1 练习17.2.2 练习2 7.3 递归与迭代7.3.1 练习37.3.2 练习4 5. 函数的嵌套调用和链式访…

解决Missing cookie ‘JssionId‘ for method parameter of type String问题

错误描述如下所示: 上述错误是我在使用CookieValue注解,获取cookieID时出现的,错误原因是由于**CookieValue注解注解中的value值和浏览器中的cookie的jssionID不一致所导致的** 如下所示为浏览器中的CookieID的参数名 而我在注解中写的如下图…

浪涌保护器行业应用防雷选型方案

当今社会中,电气设备的使用范围越来越广泛,也越来越普及,而与之相关的浪涌保护器就显得尤为重要。在这个领域,有一种高品质的浪涌保护器 —— 地凯防雷SPD浪涌保护器,它可以为各种设备提供强大的保护,并在各…

YOLOv5——pytorch环境搭建

环境搭建是一个最最基础而又基本的事情,是一切工作开始前的基本要求。 由于YOLOv7和YOLOv5不兼容,这次用到了YOLOv5,我不得不再使用anaconda创建一个虚拟环境。 Tip:很多人不了解Anaconda存在的意义,就是为了弥补pyt…

四、DML-1.数据操作-添加

一、DML介绍 Data Manipulation Language 数据操作语言 用来对数据库中表的数据记录进行增删改操作。 二、添加数据 1、给指定字段添加数据 insert into employee(id, workno, name, gender, age, idcard,entrydate) values (1, 001,Itcast, 男, 18, 123456789012345678, 2…

kaggle新赛:学生摘要评估大赛赛题解析(NLP)

赛题名称:CommonLit - Evaluate Student Summaries 赛题链接: https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/ 赛题背景 摘要写作是所有年龄段学习者的一项重要技能。总结可以增强阅读理解能力,特别是在第二…

SOLIDWORKS工程图模板如何设置?

SOLIDWORKS工程图模板是非常重要的,它可以帮助工程师快速创建符合公司规范的工程图纸。本文将介绍SOLIDWORKS工程图模板的基本知识,包括如何创建和使用模板。 一、创建SOLIDWORKS工程图模板 首先,我们需要打开SOLIDWORKS软件,并选…

MySQL高阶语句之二

目录 ​编辑 一、子查询 1.1语法 1.2select 1.3insert 1.3update 1.4delete 1.5 exists 1.6别名as 二、MySQL视图 2.1功能 2.2区别 2.3联系 2.4 创建视图(单表) 2.5 创建视图(多表) 2.6修改原表数据 2.7修改视图数据 三、NULL值 一、子查询 子查询也被称作内查询…

虚拟机ubuntu1804打开联合标定工具箱的步骤(toolkit)

1、运行roscore roscore 2、进入到calibration文件夹打开终端 source devel/setup.bash3、运行rosrun打开即可 rosrun calibration_camera_lidar calibration_toolkit

iview的表格添加筛选功能需要注意的问题

给table的某列添加筛选功能 在table中通过给columns数据的项,设置 filters,可进行筛选,filters 接收一个数组。 然后再指定一个筛选函数 filterMethod 才可以进行筛选,filterMethod 传入两个参数value和 row。 如果指定 filter…

基于异步FIFO的串口回环测试

文章目录 前言一、异步FIFO简介二、串口简介2.1 数据接收模块(RX)2.1 数据发送模块(TX) 三、IP核说明与配置2.1 PLL IP核2.2 FIFO IP核 四、数据关联 前言 当涉及到串口通信的硬件设计和软件开发时,进行有效的测试是至关重要的。串口回环测试是一种常见的测试方法&a…

GSV6201替代方案|CS5466设计资料|CS5466原理图|typec转HDMI_8k方案芯片

GSV6201是一款高性能、低功耗、高性能的,USB Type-C备用模式显示端口1.4至HDMI 2.1转换器。通过集成增强型微控制器,GSV6201创造了一个经济高效的解决方案提供了上市时间优势。显示端口接收机支持高达32.4Gbps(HBR3,4通道&#xf…

美国SaaS管理平台Zluri完成2000万美元的B轮融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,SaaS运营(SaaSOps)平台Zluri今日宣布获得2000万美元的融资,帮助企业管理SaaS资产并降低风险。B轮融资由Lightspeed领投,参与融资的其他投资者包括MassMutual Ventures、End…

python 数学 中负数的取余的区别

😄 今天发现python中负数的取余操作和数学中的是有区别的,在此记录一下。 文章目录 1、python中负数取余:2、数学中负数取余:3、总结:1、python中负数取余: res = a%b, 例子: -5%7=25%-7=-2-5%-7=-5如果a或b是负数,python则是会让商尽可能的小(即采用的是向下取整的方…