JSP漏洞大觀(一)
最後更新:2017-02-28
來源:互聯網
上載者:User
js 綜述:伺服器漏洞是安全問題的起源,駭客對網站的攻擊也大多是從尋找對方的漏洞開始的。所以只有瞭解自身的漏洞,網站管理員才能採取相應的對策,阻止外來的攻擊。下面介紹一下一些伺服器(包括Web伺服器和JSP伺服器)的常見漏洞。
Apache泄露重寫的任意檔案漏洞是怎麼回事?
在Apache1.2以及以後的版本中存在一個mod_rewrite模組,它用來指定特殊URLS在網路伺服器檔案系統上所映射的絕對路徑。如果傳送一個包含正確表達參數的重寫規則,攻擊者就可以查看目標主機上的任意檔案。
下面舉例說明重寫規則指令(其中第一行只有是包含漏洞的):
RewriteRule /test/(.*) /usr/local/data/test-stuff/$1
RewriteRule /more-icons/(.*) /icons/$1
RewriteRule /go/(.*) http://www.apacheweek.com/$1
受影響的系統:
1)Apache 1.3.12
2)Apache 1.3.11win32
3)Apache 1.2.x
不受影響系統:Apache 1.3.13
怎樣解決在HTTP請求中添加特殊字元導致暴露JSP原始碼檔案?
Unify eWave ServletExec 是一個 Java/Java Servlet 引擎外掛程式,主要用於 WEB 伺服器,例如:Microsoft IIS, Apache, Netscape Enterprise 伺服器等等。
當一個 HTTP 要求中添加下列字元之一,ServletExec 將返回 JSP 原始碼檔案。
.
%2E
+
%2B
%5C
%20
%00
成功的利用該漏洞將導致泄露指定的JSP檔案的原始碼,例如:使用下面的任意一個URL請求將輸出指定的JSP檔案的原始碼:
1)http://target/directory/jsp/file.jsp.
2)http://target/directory/jsp/file.jsp%2E
3)http://target/directory/jsp/file.jsp+
4)http://target/directory/jsp/file.jsp%2B
5)http://target/directory/jsp/file.jsp
6)http://target/directory/jsp/file.jsp%5C
7)http://target/directory/jsp/file.jsp%20
8)http://target/directory/jsp/file.jsp%00
受影響的系統:
1)Unify eWave ServletExec 3.0c
2)Sun Solaris 8.0
3)Microsoft Windows 98
4)Microsoft Windows NT 4.0
5)Microsoft Windows NT 2000
6)Linux kernel 2.3.x
7)IBM AIX 4.3.2
8)HP HP-UX 11.4
解決方案:
如果沒有使用任何靜態頁面或映像,可以配置一個預設的 servlet,並將"/"映射到這個預設的 servlet。這樣當收到一個未映射到某個 servlet 的 URL 時,這個預設的servlet 就會被調用。在這種情況下,預設的 servlet 可以僅僅返回"未找到檔案"。如果使用了靜態頁面或映像,仍然可以作這樣的配置,但是需要讓這個預設的servlet 處理對合法的靜態頁面和映像的請求。
另一種可能就是將*.jsp+、*.jsp.和*.jsp等映射到一個 servlet,而該servlet只是返回"未找到檔案"。對於*.jsp%00和*.jsp%20這樣的情況,映射應以未經編碼的形式輸入。例如,對於*.jsp%20的映射應輸入"*.jsp "。注意%20被轉換成一個空白字元。
(待續)