網路安全中檔案上傳漏洞是如何導致的?

老男孩IT教育機構發表於2022-05-30

  網路安全是個廣而深的領域,為加強網路安全防護、避免漏洞所引發的威脅,漏洞管理成為重要IT策略。本篇文章主要給大家介紹下檔案上傳漏洞,請看下文:

  檔案上傳漏洞是指:由於程式設計師未對上傳的檔案進行嚴格的驗證和過濾,而導致的使用者可以越過其本身許可權向伺服器上傳可執行的動態指令碼檔案。如常見的 頭像上傳,圖片上傳,oa辦公檔案上傳,媒體上傳,允許使用者上傳檔案的地方如果過濾不嚴格,惡意使用者利用檔案上傳漏洞,上傳有害的可以執行指令碼檔案到伺服器中,可以獲取伺服器的許可權,或進一步危害伺服器。

  非法使用者可以上傳的惡意檔案控制整個網站,甚至是控制伺服器,這個惡意指令碼檔案,又被稱為webshell,上傳webshell後門之後可檢視伺服器資訊、目錄、執行系統命令等。

  檔案上傳的型別:

  1、前端js繞過

  在檔案上傳時,使用者選擇檔案時,或者提交時,有些網站會對前端檔名進行驗證,一般檢測字尾名,是否為上傳的格式。如果上傳的格式不對,則彈出提示文字。此時資料包並沒有提交到伺服器,只是在客戶端透過js檔案進行校驗,驗證不透過則不會提交到伺服器進行處理。

  2、修改content-type繞過

  有些上傳模組,會對http型別頭進行檢測,如果是圖片型別,允許上傳檔案到伺服器,否則返回上傳失敗,因為服務端是透過content-type判斷型別,content-type在客戶端可被修改。

  3、繞黑名單

  上傳模組,有時候會寫成黑名單限制,在上傳檔案的時獲取字尾名,再把字尾名與程式中黑名單進行檢測,如果字尾名在黑名單的列表內,檔案將禁止檔案上傳。

  4、htaccess重寫解析繞過

  上傳模組,黑名單過濾了所有的能執行的字尾名,如果允許上傳.htaccess。htaccess檔案的作用是:可以幫我們實現包括:資料夾密碼保護、使用者自動重定向、自定義錯誤頁面、改變你的副檔名、封禁特定IP地址的使用者、只允許特定IP地址的使用者、禁止目錄列表,以及使用其他檔案作為index檔案等一些功能。

  在htaccess裡寫入SetHandler application/x-httpd-php則可以檔案重寫成php檔案。要htaccess的規則生效,則需要在apache開啟rewrite重寫模組,因為apache是多數都開啟這個模組,所以規則一般都生效。

  5、大小寫繞過

  有的上傳模組 字尾名採用黑名單判斷,但是沒有對字尾名的大小寫進行嚴格判斷,導致可以更改字尾大小寫可以被繞過,如PHP、Php、phP、pHp。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2897931/,如需轉載,請註明出處,否則將追究法律責任。

相關文章