網站的上傳功能可以怎麼利用?

By Jay

  1. 說明網站可能會有任意檔案上傳弱點
  2. 可能利用的手法
  3. 如何防範

  在這個資訊普及的時代,網路上的網站越來越多,很多企業都喜歡透過網站來宣傳產品,甚至是架設電子商務網站,讓產品可以直接在網站上進行販售,但往往開發人員只注重開發流程而忽略的安全性問題,也導致很多網站型的資安弱點出現,例如Cross-site scripting(簡稱XSS)、SQL Injection及Cross-Site Request Forgery (CSRF)等弱點時常被提起探討,這次小編要介紹的就是一種常見在網站的弱點,我們團隊時常稱它「任意檔案上傳弱點」,也就是CWE於2021年列出前25名常出現的軟體弱點之「CWE-434: Unrestricted Upload of File with Dangerous Type」。

那為何網站會出現這樣的弱點?其實是因為現在許多網站需要提供使用者上傳檔案至網站上,例如大頭貼、身分證圖片及附件等,一開始是為了讓使用者方便,但這個功能在駭客的眼裡就是一個很好利用的地方,網站請使用者上傳圖檔,一般人僅會上傳對應的檔案,但駭客的思維就會想這個網站是如果沒好好限制,那我是不是可以上傳一個PHP程式碼檔案,看會不會執行?如果這時網站沒有進行安全驗證的話,通常是會上傳成功的。由上面的說明可以知道,該問題通常是,網站沒有驗證使用者上傳的檔案是否為指定的檔案格式,例如大頭貼就讓限制上傳的檔案必須為png、jpg等,那當上傳上傳能被網站伺服器端執行的檔案後,再次訪問檔案路徑時,就可以執行上傳的惡意程式碼甚至可能讓攻擊者操控主機,常這種惡意程式碼也有許多別人寫好的開源版本,例如b374k就是常見的WebShell。

根據我們的經驗只要網站出現這個弱點,時常會造成網站的重大危害,常見手法就是利用這個功能去上傳Webshell,藉此取得主機權限將網站程式碼下載下來,甚至進一步提高權限取得主機的系統權限,以佔領整台主機都是常見駭客會做的事情,因此網站出現這種類型的弱點都不可忽視,必須特別注意。如果網站不知道該怎麼確認有沒有這個弱點該怎麼辦?建議可以參考我們三甲科技的滲透測試服務!!

參考連結:

https://ithelp.ithome.com.tw/articles/10245814