天天看點

攻防世界-PHP2

攻防世界-PHP2

打開網站,隻有一個Can you anthenticate to this website?

源碼什麼都沒有,掃描背景,發現源碼洩露

phps檔案就是php的源代碼檔案,通常用于提供給使用者(通路者)檢視php代碼,因為使用者無法直接通過Web浏覽器看到php檔案的内容,是以需要用phps檔案代替。其實,隻要不用php等已經在伺服器中注冊過的MIME類型為檔案即可,但為了國際通用,是以才用了phps檔案類型。

https://blog.csdn.net/loseheart157/article/details/108140659

攻防世界-PHP2

發現代碼,代碼審計可以得到該PHP檔案的作用是:

檢查GET方法傳入的"id"變量,如果是"admin",則退出

如果不是則對id進行url解碼,如果解碼後id為"admin",則成功驗證

于是可以構造payload:

index.php?id=%2561dmin

TIPS:

在我們輸入url的時候,會自動urldecode一回,這時會将非ascii碼進行編碼,于是%25就會變成%,進行第一次比較:

if("admin"==="%61dmin")
           

通過,然後在index.php檔案中,再次進行decode,%61就會變成字母a,再次驗證的時候就為admin了

攻防世界-PHP2

最後:

浏覽器會把非字母數字進行編碼,而"%"+"字母的ascii碼的十六進制"解碼會成為對應的字母

攻防世界-PHP2

tips:

%25編碼會成為%

%27編碼會成為'

web