欢迎光临
我们一直在努力

ctf show web(命令执行) 29

打开靶场这是一道php代码注入,注入点要求我们通过GET参数c传入指令,但是将flag跟i给禁止了如果直接输入代码就不能执行

我们先用?c=system(\”ls\”);命令看看当前目录下的文件和子目录

发现有flag.php但是flag被限制了肯定不能直接输入所以我们想办法绕过

1. 使用通配符(最简单直接) 在 Linux Shell 中,? 可以匹配任意单个字符,* 匹配任意多个字符。 Payload: ?c=system(\”cat f*\”); 解析: PHP 执行 system 调用系统命令,Linux 会自动将 f* 展开为 flag.php。 2. 字符串拼接/变量替换 PHP 允许动态构建字符串。 Payload: ?c=$a=\”fla\”;$b=\”g.php\”;system(\”cat \”.$a.$b); 解析: 将 \”flag\” 拆分成两部分再拼接,正则检查的是变量定义过程,而 eval 执行的是拼接后的结果。

赞(0)
未经允许不得转载:171主机测评 » ctf show web(命令执行) 29
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址