1. 程式人生 > >web安全(7)-- 檔案下載漏洞

web安全(7)-- 檔案下載漏洞

1.1 漏洞描述

    一些網站由於業務需求,可能提供檔案檢視或下載的功能,如果對使用者檢視或下載的檔案不做限制,則惡意使用者就能夠檢視或下載任意的檔案,可以是原始碼檔案、敏感檔案等。

1.2 漏洞危害

    下載伺服器任意檔案,如指令碼程式碼,服務及系統配置檔案等;可用得到的程式碼進一步程式碼審計,得到更多可利用漏洞

1.3 漏洞演示

    該部分主要講述兩種簡單的利用方法,下載tomcat的配置檔案和下載網站本身的原始碼。

1)Jsp站點的一個下載點:

http://www.test.cn/down.jsp?filename=%D5%D0%B1%EA%CF%EE%C4%BF%C9%EA%C7%EB1.doc&path=C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/ZTBWZ/upload/%D5%D0%B1%EA%CF%EE%C4%BF%C9%EA%C7%EB1.doc

    可以看到該下載點,有兩個引數,其實是一樣的,很容易看出path是待下載檔案的在伺服器上的絕對路徑。而且網站放到tomcat的安裝路徑下,這一點很重要,說明可以直接訪問tomcat的manager/html

    請求: http://www.test.cn/manager/html

    可以看到訪問正常,輸入使用者名稱和密碼就可以登入。

    因此下一步就是下載tomcat的配置檔案tomcat-users.xml(裡面儲存登入的使用者名稱和密碼)

    首先需要對tomcat配置有些瞭解,具體配置如下:

    tomcat-users.xml 在conf檔案下,這樣就可以直接使用下載點下載該檔案。

    因此構造url如下:

http://www.test.cn/down.jsp?filename=tomcat-users.xml&path=C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/conf/tomcat-users.xml

    下載成功:

    開啟該檔案獲得使用者名稱和密碼

    登入成功

    下面直接,上傳一個war檔案,就可以獲得webshell,完成了一次簡單的測試。

2)下載網站本身原始碼

    下載點: http://test.edu.cn/file.do?method=downFile&fileName=20080505094144.doc

    測試一下不能訪問http://test.edu.cn/manager/html

    上述方法失效。
首先下載網站的配置檔案jsp的配置檔案放在根目錄WEB-INF/Web.xml下(一般都有很多內容,有時含有資料庫連線使用者名稱和密碼等關鍵資訊)
訪問:

http://test/file.do?method=downFile&fileName=../WEB-INF/Web.xml

    下載後開啟,關鍵內容:

    後臺使用fckeditor編輯器,該編輯器漏洞很多,直接使用該編輯器直接上傳路徑

http://test//admin/FCKeditor/editor/filemanager/browser/default/browser.html?Type=image&Connector=connectors/jsp/connector

    選擇一個jspshell直接上傳,獲得webshell,沒有任何限制

    系統許可權,滲透完成。

1.4 修復方案

    1)過濾點(.)使使用者在url中不能回溯上級目錄

    2)正則嚴格判斷使用者輸入引數的格式

    3)將下載區獨立出來,放在專案路徑外,給每個下載資源固定的URL,而不是所有的下載資源都是統一的URL:http://www.test.com/download?filename=檔名

1.5 相關參考

http://www.cnblogs.com/Time-Cat00/p/5810770.html

http://h.evil.blog.163.com/blog/static/997935042012223112435259/