您好,登錄后才能下訂單哦!
這篇文章的內容主要圍繞File Upload漏洞的示例分析進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
前
言
作為測試人員,我們常常聽到“安全測試”這個詞,但鮮有人真正做過安全測試。從我們的職責“保障質量”角度來說,說是一種“失職”也不為過。那么安全測試是什么,究竟怎么進行安全測試?希望本文能起到拋磚引玉的作用。
文件上傳漏洞是什么?
一個未經嚴格驗證的系統中會存在各種各樣的漏洞,同理,也對應有各種各樣的漏洞監測手段。今天我們說一說最常見的一種:文件上傳漏洞的檢測。
在今天的web應用程序中,支持文件的上傳是一種常見的要求,因為這有助于提升業務效率。但隨之也帶來很多風險。如果文件上傳的接口存在漏洞,那么攻擊者就可以借助這個漏洞上傳一個可執行的文件到服務器并執行,然后獲取一個特定的權限,或進行一項危及服務器的行為。
這里上傳的文件可以是木馬、病毒、惡意腳本或者WebShell等。
為什么會產生文件上傳漏洞?
File Upload(文件上傳)漏洞,是由于程序員在對用戶文件上傳部分的控制不足或者處理缺陷,而導致用戶可以越過其本身權限向服務器上傳可執行的動態腳本文件。打個比方來說,如果使用 windows 服務器并且以 asp 作為服務器端的動態網站環境,那么網站的上傳功能就不能允許用戶上傳 asp 類型的文件,否則用戶上傳一個 webshell,服務器上的文件就可以被他任意更改了。因此文件上傳漏洞帶來的危害常常是毀滅性的,Apache、Tomcat、Nginx等都曝出過文件上傳漏洞。
示例
1、準備開源工具:DVWA
2、準備PHP腳本文件FI_GET_INI.php,內含一行腳本<?php echo phpinfo(); ?>;
3、準備jpeg文件,Desert.jpeg原為windows自帶圖片,執行CMD命令copy Desert.jpeg+FI_GET_INI.php Desert.jpeg,將<?php echo phpinfo(), ?>追加在圖片Desert.jpeg最后;
4、以下為實際場景實驗,打開靶機頁面:
5、上傳FI_GET_INI.php,成功,說明系統沒有對文件類型進行檢查,接受PHP腳本文件上傳:
6、上傳Desert.jpeg,成功,使用文本編輯器打開服務器接收上傳文件目錄中Desert.jpeg,發現<?php echo phpinfo() ?>在圖片文件中,說明系統沒有檢查文件內容,接受含有惡意腳本文件上傳:
7、第5步、第6步上傳的文件,配合文件包含漏洞(File Inclusion),可以輕易在服務器上執行
8、文件上傳(File Upload)漏洞的主要防范措施:
(1)限制上傳文件的類型(針對第5步中上傳的PHP文件)、
(2)限制上傳文件的大小、
(3)隱藏文件路徑(上面截圖中可以輕易獲取上傳文件在服務器端保存的位置,為文件包含攻擊提供便利)、
(4)檢查上傳文件中是否含有惡意信息(如檢查圖片文件是否正常編碼開頭結尾,避免第6步中上傳的圖片文件含有惡意腳本)。
感謝你的閱讀,相信你對“File Upload漏洞的示例分析”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。