Web應用安全之檔案上傳漏洞詳解

來源:互聯網
上載者:User

標籤:來源   學院   上傳檔案   截斷   也有   附件   enter   包含   內容   

  什麼是檔案上傳漏洞

  檔案上傳漏洞是在使用者上傳了一個可執行檔指令檔,本通過此指令檔獲得了執行伺服器端命令的功能,這種攻擊方式是最為直接,最為有效,有時候,幾乎沒有什麼門檻,也就是任何人都可以進行這樣的攻擊。檔案上傳為什麼會是漏洞呢?檔案上傳本身是沒有問題的,問題是檔案上傳後看伺服器怎麼來處理,怎麼來解析這個檔案。如果說伺服器處理的模式不夠安全,那麼就會導致嚴重的後果,也就是上傳了惡意的可執行檔以後,伺服器端對此檔案進行執行。

  檔案上傳後導致的安全問題

  上傳的檔案是web指令碼語言,伺服器的web容器解釋並執行了檔案上傳的web指令碼,導致了代碼的執行。另外,上傳檔案是flash的策略檔案,駭客可以通過控制flash在該域下的行為,來進行其他攻擊。上傳檔案是病毒,木馬檔案,那攻擊者可以誘使檔案中其他的人員下載執行。檔案上傳也有可能是釣魚圖片,或者包含了指令檔的圖片,在某些版本的瀏覽器中,這些指令檔會被執行,可以用來做釣魚攻擊。除此以外,還有一些不常見的利用方法,比如將一個檔案作為一個入口,溢出伺服器的幕後處理程式,片解析模組,或者上傳一個合法的檔案,其內容包含了php的代碼,再通過檔案包含,來執行這個指令碼。

  完成攻擊的條件

  在大多數情況下,檔案上傳漏洞一般是指上傳web指令碼能夠被伺服器解析的問題,也就是通常說的web shell的問題,要完成這個攻擊,需要滿足以下幾個條件:

  首先上傳的檔案能夠被web容器解釋執行,所以檔案上傳後的目錄要是web容器所覆蓋的路徑。其次,web伺服器能夠訪問這個檔案,如果檔案上傳了,但使用者無法通過web訪問,那攻擊者即使上傳了這個檔案也是訪問不到這個檔案的,這樣的話,上傳也就不能被利用。最後使用者上傳的檔案被安全監測格式化,圖片壓縮等改變了內容,就有可能導致這個檔案解析失敗。

  檔案上傳的情境

  對網站熟悉的人都瞭解,比如我們要發布一個內容,而且是圖文資訊,那我可能會上傳一些圖片、附件。

  如何利用上傳

  同樣dvwa的環境

  先構造一個檔案 儲存為指令檔1.php輸入內容如下:

  <?php

  phpinfo();

  ?>

  先使用低安全層級,也就是沒有防禦看如何上傳

  Upload後可以看到1.php被成功上傳,訪問上傳的目錄位置

  可以看到上傳的指令碼被執行,沒有對檔案尾碼名做任何判斷就直接接收了此檔案,並且執行。

  如果說上傳的指令碼是一個web shell後門,那我們就可以直接擷取到伺服器的控制許可權,

  低安全層級的實現,擷取到檔案以後,直接將這個檔案移動到目錄下,沒有做任何判斷。

  中安全層級,這裡做了一個簡單的判斷,只允許檔案類型為jpeg上傳,這樣的過濾或處理雖然能達到一定的效果,比如,剛才的指令碼就不能被上傳。

  再次上傳1.php,我們可以看到沒有反饋,檔案上傳失敗。實際上這種防禦方式是非常容易被繞過的,我麼可以利用之前介紹的工具burpsuite,這個工具是一個代理抓包的工具,也就是我可以設定瀏覽器代理。瀏覽器在訪問的時候,所有的資料請求都會通過這個工具,這個工具通過截斷處理後再提交給web伺服器,進而做出相應,這個時候,如果我在上傳的時候還是1.php,但實際上,會先通過這個工具抓包截斷,把我的檔案頭資訊改成圖標題資訊,再進行提交。這個時候,我們就可以很輕易的繞過這個防禦機制,進而達到上傳的效果

 

 

文章來源:麥子學院

原文連結:http://www.maiziedu.com/wiki/websafety/fileupload/

 

Web應用安全之檔案上傳漏洞詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.