米安程式碼審計 05 檔案上傳漏洞
本文記錄 PHP 程式碼審計的學習過程,教程為暗月 2015 版的 PHP 程式碼審計課程
1. 簡介
-
危害
如果不對被上傳的檔案進行限制或者限制被繞過,該功能便有可能會被利用於上傳可執行檔案、指令碼到伺服器上,進而進一步導致伺服器淪陷。
-
漏洞成因
- 導致檔案上傳的漏洞的原因較多,主要包括以下幾類
- 伺服器配置不當
- 開源編輯器上傳漏洞
- 本地檔案上傳限制被繞過
- 過濾不嚴或被繞過
- 檔案解析漏洞導致檔案執行
- 檔案路徑截斷
2. 漏洞成因
-
伺服器配置不當
當伺服器配置不當時,在不需要上傳頁面的情況下便可導致任意檔案上傳,參見HTTP請求方法(PUT)。
-
開源編輯器上傳漏洞
很多開源的編輯器歷史上都有不同的上傳漏洞,包括但不只限於CKEditor,CKEditor的檔案上傳漏洞參見CKEditor。
-
本地檔案上傳限制被繞過
只在客戶端瀏覽器上做了檔案限制而沒有在遠端的伺服器上做限制,只需要修改資料包就可以輕鬆繞過限制。
-
過濾不嚴或被繞過
- 有些網站上使用了黑名單過濾掉了一些關鍵的可執行檔案指令碼字尾等,但黑名單不全或者被繞過,導致可執行指令碼檔案被上傳到伺服器上,執行。
- 如在伺服器後端過濾掉了字尾為.php的檔案,但並沒有過濾掉.php3等其他可執行檔案指令碼字尾,攻擊者就可以上傳帶有其他的可執行檔案指令碼本字尾的惡意檔案到伺服器上。
- 在某些情況下由於管理員錯誤的伺服器配置(將.html字尾的檔案使用php進行解析等)會導致.html、.xml等靜態頁面字尾的檔案也可被執行。
- 在上傳檔案儲存磁碟為NTFS格式時可通過::$DATA繞過黑名單限制,參見NTFS中的ADS的一些問題[歡迎一起討論,求思路求方法]。
- 有時伺服器只對第一個被上傳的檔案進行了檢查,這時通過同時上傳多個檔案並將惡意檔案摻雜進其中也可繞過伺服器的過濾。
-
常用指令碼字尾
php php2 php3 php5 phtml asp aspx ascx ashx cer jsp jspx
相關文章
- 米安程式碼審計 06 PHPYUN V3.0 任意檔案上傳漏洞PHP
- 米安程式碼審計 07 越權漏洞
- 米安程式碼審計 04 截斷漏洞剖析
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇3 - 檔案上傳漏洞審計Java
- [程式碼審計]php上傳漏洞總結PHP
- 程式碼審計之邏輯上傳漏洞挖掘
- 檔案上傳漏洞
- 米安程式碼審計 08 ThinkSNS 垂直平行越權
- WEB漏洞——檔案上傳Web
- Java審計之檔案操作漏洞Java
- 淺析檔案上傳漏洞
- Web安全-檔案上傳漏洞Web
- 檔案包含漏洞(本地包含配合檔案上傳)
- [JavaWeb]Shiro漏洞集合——程式碼審計JavaWeb
- 任意檔案上傳漏洞修復
- <web滲透-檔案上傳漏洞>Web
- 檔案上傳漏洞思路詳解
- 檔案上傳漏洞總結(全)
- 檔案上傳(解析)漏洞詳解
- 檔案上傳漏洞(繞過姿勢)
- Web 安全漏洞之檔案上傳Web
- 檔案上傳/下載後臺程式碼
- 3. 檔案上傳漏洞——漏洞總結筆記筆記
- 網站漏洞修復之Metinfo 檔案上傳漏洞網站
- 解析漏洞與檔案上傳漏洞—一對好兄弟
- 檔案上傳漏洞防範-檔案型別檢測型別
- [python網路程式設計]檔案上傳Python程式設計
- java程式碼審計人工漏洞檢測方法Java
- ctfshow檔案上傳漏洞做題記錄
- 文字檔案上傳漏洞[任意.繞過.解析]
- 漏洞重溫之檔案上傳(總結)
- PHP程式碼審計05之正則使用不當PHP
- WebLogic 任意檔案上傳遠端程式碼執行_CVE-2018-2894漏洞復現Web
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇4 - XXE漏洞審計Java
- 線上直播原始碼,js 檔案上傳 圖片上傳 傳輸速度計算原始碼JS
- 小程式之檔案上傳
- Java程式碼審計篇 - ofcms系統審計思路講解 - 篇2 - SQL隱碼攻擊漏洞審計JavaSQL
- 探索網路安全:淺析檔案上傳漏洞