源代碼泄漏而引發(fā)的JSP平安性_第1頁
源代碼泄漏而引發(fā)的JSP平安性_第2頁
源代碼泄漏而引發(fā)的JSP平安性_第3頁
源代碼泄漏而引發(fā)的JSP平安性_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要:在JSP技術取得普遍應用的同時,由于源代碼泄漏而引發(fā)的JSP平安性也受到了普遍的關注。本文分析了幾種造成源代碼泄漏的因素,并針對每種因素提出了各自的解決方式。關鍵詞:JSP源代碼泄漏引言JSP編程語言自從推出之日起,由于它的快速、平臺無關、可擴展、面向對象等特性取得了愈來愈普遍的應用,愈來愈多的廠家開發(fā)出了各類各樣的支持平臺如IBM公司的WebSphere、BEA公司的WebLogic等等,也有愈來愈多的網站開始將自己的平臺架構在JSP環(huán)境中??墒请S之而來的確實是一系列的平安問題,如源代碼暴露漏洞、遠程任意命令執(zhí)行漏洞等等,一些用JSP做的網站,由于存在各類各樣的漏洞,能夠被黑客輕松的下

2、載程序的源代碼,對網站的平安組成要挾。造成JSP源代碼暴露的緣故效勞器漏洞是平安問題的起源,黑客對網站的解決也大多是從查找對方的漏洞開始的。因此只有了解自身的漏洞,網站治理人員才能采取相應的計謀,阻止外來的解決。盡管JSP也是一種web編程語言,可是它和其它的web編程語言如PHP、ASP的工作機制是不一樣的。第一次挪用JSP文件實際上是執(zhí)行一個編譯為Servlet的進程。試圖下載JSP源代碼的人(比如黑客)往往利用JSP的各類漏洞,讓JSP文件在編譯前被閱讀器看成一個文本或其它文件發(fā)送給客戶端,或在JSP裝載的時候不去執(zhí)行編譯好的Servlet而直接讀JSP的內容并發(fā)送給客戶端,從而讓源代碼

3、一覽無余。JSP源代碼泄漏的幾種類型源代碼暴露類別要緊指的是程序源代碼會以明文的方式返回給訪問者.咱們明白不管是JSP仍是ASP、PHP等動態(tài)程序都是在效勞器端執(zhí)行的,執(zhí)行后只會返回給訪問者標準的html等代碼。這是理論上的東西,實際運行起來由于效勞器內部機制的問題就有可能引發(fā)源代碼暴露的漏洞,簡單的例子是只要在程序文件名后加幾個簡單的字符就可能取得程序代碼,如常見微軟ASP的+.htr、$81等等漏洞。添加特殊后綴引發(fā)JSP源代碼暴露在JSP中也存在著和asp這些漏澗類似的問題,如IBMWebsphereApplicationServer3.0.21、BEASystemsWeblogic、等

4、JSP文件后綴大寫漏洞;JSP文件后加特殊字符如的%8二、漏洞:ServletExec的%2E、+漏洞、%2E、+、%2B、二C、$20、%00等。黑客若是利用該漏洞,將致使泄露指定的JSP文件的源代碼。例一:利用下面的任意一個URL請求將輸出指定的JSP文件的源代碼:1)2)3)4)5)6) )5C7)8)a例二,在下,在閱讀器中本來能夠正常說明執(zhí)行的是,可是若是將改成或等等碰運氣,你會發(fā)覺閱讀器會提示你下載那個文件,下載后源代碼能夠看個一干二凈。緣故是JSP是大小寫靈敏的,Tomcat只會將小寫的JSP后綴的文件看成是正常的JSP文件來執(zhí)行,若是大寫了就會引發(fā)Tomcat將看成是一個能夠下

5、載的文件讓客戶下載。老版本的WebLogic、WebShpere等都存在那個問題,此刻這些公司或發(fā)布了新版本或發(fā)布了補丁解決了這問題。3.1.1解決方法解決這種由于添加后綴引發(fā)的源代碼泄漏有兩種方式,一種方式是在效勞器軟件的網站上下載補丁:另外一種方式是在效勞器設置中添加一些映射如.JSP、.Jsp、.jspME等,將他們映射到一個自己寫的servlet,那個Servlet的唯一功能確實是將請求導向一個自概念的類似404notfound的犯錯頁而,不同的效勞器設置的地址也不同。若是沒有利用任何靜態(tài)頁面或圖像,能夠配置一個默許的servlet,并將映射到那個默許的servleto如此當收到一個未

6、映射到某個servlet的URL時,那個默許的servlet就會被挪用。在這種情形下,默許的servlet能夠僅僅返回未找到文件:若是利用了靜態(tài)的頁面或圖像,仍然能夠作如此的配置,可是需要讓那個默許的servlet處置對合法的靜態(tài)頁面和圖像的請求。另一種可能確實是將*.jsp+、*.jsp.和*.jsp等映射到一個servlet,而該servlet只是返回“未找到文件。關于*.jsp$00和*.jsp$20如此的情形,映射應以未經編碼的形式輸入。例如,關于*.jsp$20的映射應輸入"*.jsp注意用20被轉換成一個空格字符。3.2插入特殊字符串引發(fā)JSP源代碼暴露插入特殊字符串引發(fā)

7、的漏洞有很多,例如BEAWebLogicEnterprise中,文件途徑開頭為yfiler的漏洞、IBMWebSphere3.0.2中"/servlet/file/”文件開頭漏洞等等。若是在IBMWebSphere3.0.2中的一個請求文件的URL為"",那么,用戶在訪問時將看到那個文件的源代碼。緣故是由于IBMWebSphere3.0.2是挪用不同的servlets對不同的頁面進行處置,若是一個請求的文件是未進行注冊治理的,WebSphere會利用一個默許的servlet挪用。若是文件途徑以"/servlet/file/作開頭那個默許的servlet會

8、被挪用那個請求的文件會未被分析或編譯就顯示出來。3.2.1解決方式在效勞器軟件的網站下載最新的補丁。3.3途徑權限引發(fā)的文件JSP源代碼暴露這種漏洞在正常的JSP漏洞中沒有反映出來,可是咱們明白,大部份的JSP應用程序在當前目錄下都會有一個WEB-INF目錄,那個目錄通常寄存的是JavaBeans編譯后的class文件,若是不給那個目錄設置正常的權限,所有的class就會曝光?;蛟S有人以為class是通過編譯的,就算被下載也沒有什么關系,可是此刻class反編譯為java代碼的軟件也很多,采納反編譯軟件對下載的class文件反編譯后,和原始的java文件幾乎一模一樣,連變量名都沒有變,還能夠正

9、常利用。更大的平安問題是,有的軟件開發(fā)人員把數據庫的用戶名密碼都寫在了java代碼中,此刻一反編譯誰都能看到數據庫的重要信息。通過數據庫的遠程連接功能,能夠輕松的進入到數據庫中,所有信息將全數被他人把握。3.3.1解決方式有一個方式能夠有效地解決由于途徑權限引發(fā)的代碼泄漏問題,確實是將ASP程序單獨放置一個目錄,設置該目錄上的用戶權限只能執(zhí)行不能讀取。在JSP環(huán)境下一樣能夠通過設置效勞器的環(huán)境來解決那個問題:將一些比較重要的目錄如WEB-INF、classes等設置上訪問的權限,不許諾讀而取只許諾執(zhí)行。以Apache下解決為例,能夠在文件中添加一目錄WEB-INF并設置Denyfromall等

10、屬性。另一種解決方式確實是在每一個重要目錄下添加一個默許起始頁面如等,如此讀取目錄就會返回給訪問者那個文件而不是其它了。相較較而言,建議采納第一種方式。更為重要的是密碼的保留問題,在ASP開發(fā)中,能夠將密碼文件保留在系統(tǒng)目錄如WINNT下,然后用一個com來讀取那個文件,如此就算看到了ASP源代碼也不明白數據庫信息了。在JSP中咱們也能夠寫一個property文件,放置在WINNT系統(tǒng)目錄下,然后用Bean來讀取數據庫信息,如此通過源代碼明白了數據庫信息存在WINNT中的.property文件里而,但也很難訪問它,如此就算源代碼被人明白最少數據庫是平安的。3. 4文件不存在引發(fā)的絕對途徑暴露問

11、題那個問題此刻已經顯現了很多,因為微軟HS中也有比較多的類似問題,如微軟中的*.ide暴露絕對途徑漏洞。一樣的這些問題此刻出此刻JSP環(huán)境中,那個漏洞暴露了web程序的絕對硬盤地址,和其他漏洞結合就具有比較大的危害了。例如:在特定的效勞器軟件下,訪問一個不存在的JSP文件如<,就會返回c:webapp(?)如此的錯誤,如此就能夠夠明白你網站在c:webapp目錄下,或許一樣人不太在意,可是關于一個黑客來講足夠了。緣故是由于負責JSP執(zhí)行的相關Servlet中處置異樣的時候沒有過濾掉這種情形。3.4. 1解決方式關于因為文件不存在引發(fā)的絕對途徑暴露問題,有兩種解決方式。一種方式是下載最新的補丁。另一種方式是找到效勞器軟件的JSP執(zhí)行映射Servlet文件(固然是class后綴的),將它用軟件反編譯,在反編譯后的源代碼中找處處置Eception的方式,然后將方式中的處置部份全數注

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論