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

ctf show web入门54

这道题目是 ctf.show 中典型的 命令执行RCE绕过 题。虽然看起来过滤非常严密但只要理清了它的过滤规则就能找到生存空间。过滤规则拆解代码通过 preg_match 过滤了以下内容/i 表示不区分大小写符号类 ; (分号), (反引号), %, * (通配符), , (重定向), (\x26), \t (\x09)。数字类 [0-9]。空格类 直接过滤了空格。关键字类重点 这里使用了 .*c.*a.t.这种贪婪匹配模式。这意味着只要你的字符串中按顺序出现了 c、a、t 这三个字母就会被拦截。被拦截的命令包括cat, flag, more, wget, less, head, sort, tail, sed, cut, tac, awk, strings, od, curl, nl, scp, rm。被过滤的命令行cat最基础的文件读取命令more分页显示文件内容less分页显示文件比more高级多一些功能head显示文件前几行默认显示前10行tail显示文件的最后几行默认显示后10行sort对文件内容进行排序会读取并显示整个文件sed对文件进行文本转换与编辑cut从每行中提取部分内容。例如cut -d: -f1 filename以冒号分隔取出第一列。tac反向catawk文本分析和处理工具。例如awk ‘{print $1}’ filename打印第一行strings从二进制文件中提取可打印字符串od选择格式显示文件nl显示文件内容并添加行号也是一个通用的命令curl通过URL传输数据可读取远程文件wget从网络下载文件scp在主机间复制文件基于ssh需要认证rm删除文件或目录那看到最后一个rm可以联想到它一系列的兄弟可以进行绕过cp复制文件可以指定名称 mv移动文件可以指定新名称 vi编辑文件除了上面两个命令之外还可以grep查找关键行 rev显示全部内容但字符顺序反转 uniq去重文件内容并显示完整内容————————————————版权声明本文为CSDN博主「!!!.」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/m0_64481831/article/details/1541204672. 绕过思路A. 解决“空格”被过滤在 Linux shell 中当空格被过滤时常用的替代符有${IFS}$IFS$9但这题过滤了 和 本题解法 使用 ${IFS}。B. 解决“关键字”顺序过滤正则 .*f.*l.*a.g.过滤了 flag。但它只能过滤“顺序”出现的字符。绕过技巧 1利用变量定义。在 shell 中你可以定义变量再拼接afl;bag;cataaab。但本题过滤了分号 ;无法在一行内通过分号执行多条命令。绕过技巧 2利用 Shell 特殊变量。在命令中插入空变量或特殊符号flagfl\agf${高三}lag绕过技巧 3利用通配符 ?。虽然 * 被过滤了但 ?匹配单个字符没有被过滤。C. 解决“读取命令”被过滤cat, tac, nl, more, less, tail, head 全被过滤了。剩余可用命令 rev, mv, vi (不可用), uniq。终极杀招 grep。grep 可以搜索字符串。如果我们搜索“包含某个字符”的所有行其实就相当于读取了文件。payload1使用grep查找关键行?cgrepIFS′f′{IFS}fIFS′f′{IFS}f???.phppayload2使用uniq去重文件内容并显示完整内容?cuniq${IFS}f???.phppayload3使用 rev显示全部内容但字符顺序反转:?crev${IFS}f???.php为什么payload为?cuniqIFSf???.php时成功但是payload为?cuniq{IFS}f???.php时成功但是payload为?cuniqIFSf???.php时成功但是payload为?cuniq{IFS}fl??.php就得不到flag呢核心原因正则表达式的“顺序拦截”题目中的过滤规则是这样的preg_match(“/…|.*f.*l.*a.g.|…/i”, $c)这里的 .*f.*l.*a.g.是一个极其严格的陷阱。它的含义是只要你的输入中按顺序出现了 f、l、a、g 这四个字母无论它们之间隔了多少个字符都会被拦截。我们可以对比一下这两个 Payload 在正则眼里的样子 Payload A: ?cuniq${IFS}fl??.php你的输入包含字符f, l, ?, ?, ., p, h, p正则匹配过程找到了 f。紧接着找到了 l。后面还有 .php。虽然你没有显式写 a 和 g但如果当前目录下存在一个叫 flag.php 的文件某些环境下 PHP 的 preg_match 可能会因为后续逻辑或误判触发拦截但在本题中通常是因为匹配到了顺序。更直接的原因是很多 CTF 题目的环境会在你提交后后台尝试解析或你的字符串中确实存在 f 和 l 的顺序。 Payload B: ?cuniq${IFS}f???.php你的输入包含字符f, ?, ?, ?, ., p, h, p正则匹配过程找到 f。接下来寻找 l。但是你的字符串里没有字母 l只有问号 ?。结果 正则表达式匹配失败安全通过然后字符串被传给 system()。在 Linux Shell 执行时f???.php 会被通配符自动展开为 flag.php。为什么 fl??.php 往往会失败在 ctf.show 的这道特定题目中过滤规则里其实隐藏了一个逻辑它不仅过滤了 flag 单词还防止你通过前缀拼接来逼近这个单词。f l 的组合 只要你写出了 fl你就已经完成了 .*f.*l.*a.g.匹配进度的 50%。问号的妙处 使用 f???.php 时你绕过了 PHP 层面对于“字母顺序”的检测因为在 PHP 看来? 只是一个标点符号不是 l、a 或 g。只有当这个字符串到达 Linux 系统 Shell 手里时它才会被翻译成 flag.php。验证“顺序拦截”的威力这个正则 .*f.*l.*a.g.甚至会拦截一些看起来完全无关的句子输入funnylogicandgame \rightarrow 拦截 (因为顺序包含 f, l, a, g)输入fileagent \rightarrow 拦截输入f??? \rightarrow 放行 (因为不包含 l, a, g)总结与建议在处理这种“顺序通配符过滤”时最稳妥的办法就是只保留一个首字母剩下的全部用 ? 代替。推荐做法 ?cuniq${IFS}f??? (匹配所有 f 开头的文件)进阶做法 如果连 f 都被过滤了可以使用更激进的通配符 ?cuniq${IFS}??? (匹配所有 8 位长度的文件通常能撞到 flag.php)

相关文章:

ctf show web入门54

这道题目是 ctf.show 中典型的 命令执行(RCE)绕过 题。虽然看起来过滤非常严密,但只要理清了它的过滤规则,就能找到生存空间。过滤规则拆解 代码通过 preg_match 过滤了以下内容(/i 表示不区分大小写)&…...

ctf show web入门48

这是一道典型的 PHP 代码审计与命令注入(Command Injection) 绕过题。代码逻辑分析 代码的核心逻辑如下: 输入点:通过 GET 方式接收参数 c。 过滤机制:使用 preg_match 进行正则匹配,过滤了大量关键字符和命…...

ctf show web 入门46

这道题目是上一题的升级版,过滤条件变得更加苛刻了。我们来分析一下新增的限制以及应对方案。 代码审计与变化 相比之前,正则过滤 preg_match 新增了以下内容: [0-9]:禁止使用任何数字。这意味着 $IFS$9 这种绕过方式失效了。 \$&…...

别再手动造数据了!用Python的imgaug库5分钟搞定深度学习图像增强(附关键点/边界框处理避坑指南)

深度学习图像增强实战:用imgaug打造高效数据流水线 在计算机视觉项目中,数据增强是提升模型泛化能力的关键步骤。传统手动处理方式不仅耗时耗力,还难以保证处理一致性。本文将深入探讨如何利用Python的imgaug库快速构建自动化图像增强流程&am…...

AI碳足迹深度解析:从模型压缩到软硬协同的绿色AI实践

1. 从“算力怪兽”到“绿色引擎”:AI碳足迹问题的深度拆解 最近和几个在芯片厂和云服务商工作的老朋友聊天,话题总绕不开一个词:电费。不是开玩笑,现在训练一个大模型,电费账单能轻松超过一个小型数据中心的日常运维成…...

基于OpenClaw的GitHub趋势智能监控器:自动化追踪与AI摘要推送

1. 项目概述:一个为开发者打造的GitHub趋势智能监控器 作为一名长期泡在GitHub上的开发者,我深知每天手动刷“Trending”页面有多低效。热门项目层出不穷,但真正值得关注的往往就那么几个,而且很容易被淹没在信息流里。直到我遇到…...

别再只用轮盘赌了!遗传算法选择算子实战对比:Python代码实现与性能调优心得

遗传算法选择算子深度实战:从轮盘赌到锦标赛的Python优化指南 在解决复杂优化问题时,遗传算法展现出了惊人的适应能力。但许多开发者止步于基础的轮盘赌选择(Roulette Wheel Selection),却不知不同选择策略对算法性能的…...

别再混淆了!SVPWM算法中2Udc/3和Udc的电压幅值到底指什么?一个图讲清楚

别再混淆了!SVPWM算法中2Udc/3和Udc的电压幅值到底指什么?一个图讲清楚 在电力电子和电机控制领域,SVPWM(空间矢量脉宽调制)算法是变频驱动系统的核心技术之一。许多初学者甚至有一定经验的工程师,在学习和…...

终极百度网盘加速解决方案:BaiduPCS-Web完整使用指南

终极百度网盘加速解决方案:BaiduPCS-Web完整使用指南 【免费下载链接】baidupcs-web 项目地址: https://gitcode.com/gh_mirrors/ba/baidupcs-web 还在为百度网盘那令人抓狂的下载速度而烦恼吗?当下载进度条像蜗牛一样缓慢移动时,你是…...

别再想当然!用AD628/INA等差分放大器做单端采集,必须搞懂的共模电压计算(附Excel工具)

差分放大器单端采集实战指南:共模电压计算与设计避坑 在工业传感器接口和医疗设备信号链设计中,差分放大器常被用于单端信号采集的场景。许多工程师习惯性地认为,只要将差分放大器的负输入端接地,就能轻松实现单端转差分功能。但实…...

V2X通信:自动驾驶安全冗余与混合交通协同的关键技术

1. 项目概述:当自动驾驶汽车遇上“沟通障碍”如果你认为自动驾驶汽车和车与车之间的通信是两个独立的问题,那说明你的思考还不够“渐进式”。是时候重新审视了。自动驾驶的拥护者们常常描绘一个乌托邦式的未来:道路零事故。但他们很少提及那个…...

LVGL图片资源全解析:从C数组到图标字体的高效集成方案

1. LVGL图片资源方案概述 在嵌入式GUI开发中,图片资源的管理直接影响产品性能和开发效率。LVGL作为轻量级图形库,提供了三种主流的图片集成方案:内部C数组、外部文件系统图片和图标字体。每种方案都有其独特的适用场景和实现方式,…...

通用汽车IT部门裁员600人,为AI人才腾空间,软件团队变革进行时

通用汽车IT部门裁员600人,AI人才成新宠 通用汽车证实已对其IT部门进行裁员,约600名领薪员工(占比10%以上)被裁,目的是清除专业知识不再适用的员工,为具有AI背景的人员腾出空间。公司表示这是面向未来做好准…...

STC8H8K64U单片机IAP升级实战:从官方例程到自定义协议的完整移植指南

STC8H8K64U单片机IAP升级实战:从官方例程到自定义协议的完整移植指南 在嵌入式系统开发中,固件升级是一个永恒的话题。想象一下这样的场景:你的设备已经部署在客户现场,突然发现了一个需要紧急修复的Bug,或者需要增加新…...

按类型搜索文件

rg -n "getState" --typec --typejava...

零代码到全球上线:我用 Dify + EdgeOne Pages 为跨境电商打造了一个 7×24 小时 AI 智能客服

文章目录每日一句正能量目录1. 引言:一个独立站卖家的深夜焦虑2. 技术选型:为什么选择 Dify EdgeOne Pages?3. 场景拆解:跨境电商客服的三大核心痛点3.1 痛点一:意图混杂,一句话可能包含多个需求3.2 痛点二…...

英特尔转型芯片代工:从IDM巨头到服务商的六大挑战与机遇

1. 英特尔代工之路:从IDM巨头到服务提供商的六大挑战在半导体行业,英特尔这个名字几乎就是高性能微处理器的代名词。这家公司凭借其垂直整合制造模式,在过去几十年里构筑了难以撼动的技术护城河。然而,当行业的目光从单纯的制程竞…...

3分钟掌握Windows安装APK:告别复杂模拟器的终极方案

3分钟掌握Windows安装APK:告别复杂模拟器的终极方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经遇到过这样的场景?同事发来一个实…...

制造业财务场景AI自动化方案,主流厂商横向对比 —— 2026企业级智能体选型全景盘点

进入2026年,全球制造业正处于从“自动化”向“智能共生”跨越的关键节点。 财务部门作为企业的数据中枢,其AI自动化方案已不再局限于早期的OCR识别或简单的流程脚本。 随着大模型(LLM)与智能体(Agent)技术的…...

从格式混乱到工作流重构:Cloud Document Converter如何重塑飞书文档迁移体验

从格式混乱到工作流重构:Cloud Document Converter如何重塑飞书文档迁移体验 【免费下载链接】cloud-document-converter Convert Lark Doc to Markdown 项目地址: https://gitcode.com/gh_mirrors/cl/cloud-document-converter 你是否曾花费数小时手动复制飞…...

AI时代算力、模型与安全的三角博弈:从Nvidia生态到工程实践

1. 项目概述:当算力、智能与安全交织的时代最近和几个在芯片设计、大模型应用以及安全服务公司工作的朋友聊天,大家不约而同地都聊到了一个话题:我们正处在一个由Nvidia芯片驱动的AI浪潮之巅,但这场盛宴似乎并非没有天花板。一方面…...

知识图谱与智能体如何革新小说创作:graphify-novel项目深度解析

1. 项目概述:用知识图谱为你的小说创作装上“第二大脑”如果你是一位小说创作者,无论是网文作者、传统文学写作者,还是游戏叙事设计师,你一定经历过这样的痛苦时刻:写到第30章,突然想不起某个配角在第5章出…...

Windows平台ADB驱动终极安装指南:3分钟搞定Android开发环境

Windows平台ADB驱动终极安装指南:3分钟搞定Android开发环境 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/…...

智能家居安全新突破:视觉AI如何实现从感知到认知的跨越

1. 项目概述:当视觉智能成为家庭安全的“火眼金睛”最近几年,智能家居的概念越来越火,从智能门锁到语音助手,似乎家里的一切都在变得“聪明”。但说实话,很多所谓的“智能”安全方案,比如单纯依靠门窗传感器…...

对比按量计费与Token Plan套餐,哪种方式更适合你的项目

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按量计费与Token Plan套餐,哪种方式更适合你的项目 在接入大模型服务时,成本控制是每个开发者和团队都…...

为OpenClaw智能体工作流配置Taotoken作为统一的模型调用后端

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken作为统一的模型调用后端 对于使用OpenClaw框架构建AI智能体的开发者而言,一个稳定…...

深度学习在系外行星探测中的应用:ExoDNN框架解析与实践

1. 项目概述:当深度学习遇见星空系外行星探测,这个听起来就充满科幻感的领域,在过去二十年里彻底改变了我们对宇宙的认知。从最初通过“凌星法”和“径向速度法”发现几颗气态巨行星,到如今TESS、开普勒等太空望远镜的海量数据中&…...

初次使用Taotoken平台从注册到完成API调用的全程指引

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初次使用Taotoken平台从注册到完成API调用的全程指引 对于初次接触大模型API的开发者而言,从注册平台到成功发出第一个…...

对比体验Taotoken平台不同大模型在创意生成上的差异

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比体验Taotoken平台不同大模型在创意生成上的差异 对于内容创作者而言,大模型是激发灵感、提升效率的得力工具。然而…...

基于LangGraph与MCP构建Farcaster AI智能体:从架构到DeFi集成实战

1. 项目概述:一个面向Farcaster生态的AI智能体最近在探索SocialFi和AI Agent的结合点,发现了一个挺有意思的项目:oceantruong/farcaster-agent。简单来说,这是一个专门为Farcaster社交网络设计的AI智能体框架。Farcaster本身是一个…...