打開網站,隻有一個Can you anthenticate to this website?
源碼什麼都沒有,掃描背景,發現源碼洩露
phps檔案就是php的源代碼檔案,通常用于提供給使用者(通路者)檢視php代碼,因為使用者無法直接通過Web浏覽器看到php檔案的内容,是以需要用phps檔案代替。其實,隻要不用php等已經在伺服器中注冊過的MIME類型為檔案即可,但為了國際通用,是以才用了phps檔案類型。
https://blog.csdn.net/loseheart157/article/details/108140659
發現代碼,代碼審計可以得到該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了
最後:
浏覽器會把非字母數字進行編碼,而"%"+"字母的ascii碼的十六進制"解碼會成為對應的字母
tips:
%25編碼會成為%
%27編碼會成為'