相關資訊:
hint:無進入**後,便能顯示原始碼,是一道**審計題目。
<?php
$text
=$_get
["text"];
$file
=$_get
["file"];
$password
=$_get
["password"];
// text 需要等於 welcomeif(
isset
($text)&&
(file_get_contents
($text
,'r'
)===
"welcome to the zjctf"))
else
}else
?>
我在原始碼中寫了一些關鍵資訊。
我還收集了一些其他資訊
第一步,我們需要將變數 text 賦值為welcome to the zjctf
,我們需要使用到 file_get_content 讀取網頁的功能
首先嘗試 data 協議,如果 data 協議可以實現,那麼 php://input 也應該可以實現。
構造後的 url:再嘗試使用 php://input 實現
ps: hackbar 傳送 post 必須要含等號,否則無資料。(滿滿都是心酸淚通過第一步的測試,我們可以正常一些配置資訊如下:
allow_url_include:on第二步就是利用 include 嘗試讀取原始碼注釋的檔名(useless.php)。allow_url_fopen:on
所以這裡我們採用 php://filter 偽協議來讀取。
使用 base64 指令碼解碼:
<?php
//讀取檔案流
$filedata
=file_get_contents
("1.txt");
//將檔案寫入本地
file_put_contents
("useless.php"
,base64_decode
($filedata))
;
解碼後的原始碼為:
<?php
class
flag
}}
在 useless.php 中的注釋,是在暗示 flag 位於 flag.php 檔案中,我們將 file 改為 flag.php 即可。
<?php
class
flag
$obj
=new
flag()
;echo
urlencode
(serialize
($obj))
;
將 file 改為 php,讓 include 執行 useless.php,從而引入 flag 類,最後訪問即可得到 flag(**在原始碼中)
CTF後門入侵系統 攻防世界
php filter是php中特有協議流,中間流 來處理其他流,就比如可以用 post請求通過base64將php原始碼編譯並輸出 localhost 80 index.php?php filter write convert.base64 decode resource index.php 輸出的...
CTF 攻防世界練習題 二)
webshell就是以asp php jsp或者cgi等網頁檔案形式存在的一種命令執行環境,也可以將其稱做為一種網頁後門。黑客在入侵了乙個 後,通常會將asp或php後門檔案與 伺服器web目錄下正常的網頁檔案混在一起,然後就可以使用瀏覽器來訪問asp或者php後門,得到乙個命令執行環境,以達到控制...
攻防世界mfw 攻防世界 Web mfw
題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...