bugku-file_get_contents


打開題目

是一串代碼

 1 <?php
 2 extract($_GET);
 3 if (!empty($ac))
 4 {
 5 $f = trim(file_get_contents($fn));
 6 if ($ac === $f)
 7 {
 8 echo "<p>This is flag:" ." $flag</p>";
 9 }
10 else
11 {
12 echo "<p>sorry!</p>";
13 }
14 }
15 ?>

大致意思就是要上傳 ac和fn兩個參數

且ac的值等於fn文件內容的值

這時候就可以用到php偽協議的php://input

他的作用是可以訪問請求的原始數據的只讀流, 將post請求中的數據作為PHP代碼執行。

順便記一下這個偽協議需要allow_url_include為on

根據代碼

我們可以構造payload: ?ac=1&fn=php://input

再使用hackbar post傳參1

即可得到flag

就是不知道為什么用谷歌瀏覽器里的hackbar的回顯是sorry而火狐的hackbar就能正常回顯出flag

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM