安全動態(tài)

Upload-Lab第六關:如何巧妙利用大小寫繞過黑名單驗證?

來源:聚銘網絡    發(fā)布時間:2024-09-02    瀏覽次數:
 
本文通過利用黑名單驗證的缺陷和大小寫繞過技巧,可以成功繞過服務器的文件上傳限制。

在第6關,我們將面對一個黑名單驗證機制,服務器通過檢測文件擴展名來拒絕上傳特定類型的文件(例如 .php 文件)。但由于驗證邏輯不完善,可以利用大小寫繞過等技巧進行繞過。如下是第六關的關鍵源碼:

通過觀察上述代碼發(fā)現(xiàn),同時過濾掉.htaccess和.ini。但是沒有使用strtolower()函數,可以使用大小寫繞過黑名單把.php格式改為 .Php上傳上去之后,就會自動解析為.php

解法步驟

(1) 準備webshell文件:

創(chuàng)建一個簡單的 PHP 文件 webshell.Php,內容如下:


(2) 上傳文件:

在第6關的文件上傳界面,選擇webshell.Php文件并上傳。上傳成功如下圖所示:

(3) 驗證上傳結果

如果上傳成功,你可以通過URL訪問該文件,驗證是否能夠正常執(zhí)行PHP代碼。在本次復現(xiàn)過程中,通過訪問這個文件的URL提示如下報錯:

經過檢查也沒有發(fā)現(xiàn)任何問題,本關卡使用的環(huán)境如下:

  • nginx-1.24.0
  • php-5.3

有知道的小伙伴,麻煩評論區(qū)告訴我一聲

在windows平臺下也測試過一遍,還是不能正常解析到Php后綴的文件。如下圖:

總結

第6關通過利用黑名單驗證的缺陷和大小寫繞過技巧,可以成功繞過服務器的文件上傳限制。這一關展示了在實際開發(fā)中簡單黑名單驗證的不足之處,強調了安全驗證中細節(jié)的重要性


 
 

上一篇:【一周安全資訊0831】《網絡安全技術 網絡安全 第7部分:網絡虛擬化安全》公開征求意見;Uber因違反GDPR被罰2.9億歐元

下一篇:2024年9月2日聚銘安全速遞