一、服務端請求偽造漏洞
服務端請求偽造(Server-Side Request Forgery),是指Web服務提供從用戶指定的URL讀取數據並展示功能又未對用戶輸入的URL進行過濾,導致攻擊者可借助服務端實現訪問其本無權訪問的URL。
攻擊者無權訪問的URL主要是內網,而對於不是Web服務的其他端口反回的一般是端口對應的服務的banner信息,所以SSRF的一大利用是探測內網端口開放信息。(所以SSRF歸類為信息泄漏類型)
Weblogic服務端請求偽造漏洞出現在uddi組件(所以安裝Weblogic時如果沒有選擇uddi組件那么就不會有該漏洞),更准確地說是uudi包實現包uddiexplorer.war下的SearchPublicRegistries.jsp。
所以修復的直接方法是將SearchPublicRegistries.jsp直接刪除就好了;我們這里采用的是改后輟的方式,修復步驟如下:
1.將weblogic安裝目錄下的wlserver_10.3/server/lib/uddiexplorer.war做好備份
2.將weblogic安裝目錄下的server/lib/uddiexplorer.war下載
3.用winrar等工具打開uddiexplorer.war
4.將其下的SearchPublicRegistries.jsp重命名為SearchPublicRegistries.jspx
5.保存后上傳回服務端替換原先的uddiexplorer.war
6.對於多台主機組成的集群,針對每台主機都要做這樣的操作
7.由於每個server的tmp目錄下都有緩存所以修改后要徹底重啟weblogic(即停應用--停server--停控制台--啟控制台--啟server--啟應用)
(驗證如果不重啟即便刪除服務器上能找到的所有SearchPublicRegistries.jsp的緩存頁面,頁面依然可以訪問;重啟后確實不能訪問頁面)
如果不需要uddi那么也可以直接刪除uddiexplorer.war,但要注意在實際操作中發現刪除uddiexplorer.war如果沒有當即執行重啟,那么會數天內uddiexplorer.war會被自動還原。
二、反射型跨站請求偽造漏洞
反射型跨站請求偽造漏洞出現在uddiexplorer.war下的SetupUDDIExplorer.jsp頁面,修復方法一樣是刪除頁面即可;推薦方法是和上邊一樣改后輟即可。
構造請求URL如下:
https://[vulnerablehost]/uddiexplorer/SetupUDDIExplorer.jsp?privateregistry=<script>alert(2)</script>&setPrivateRegistryInquiry=Set+Search+URL
返回重定向包內容如下:
HTTP/1.1 302 Moved Temporarily
Location: https://[vulnerablehost]/uddiexplorer/SetupUDDIExplorer.jsp
Set-Cookie: privateinquiryurls=<script>alert(2)</script>; expires=Saturday, 29-Nov-2014 08:00:27 GMT
Content-Length: 331
Content-Type: text/html;charset=UTF-8
重定向請求如下:
GET /uddiexplorer/SetupUDDIExplorer.jsp HTTP/1.1
Host: [vulnerablehost]
Cookie: publicinquiryurls=http://www-3.ibm.com/services/uddi/inquiryapi!IBM|http://www-3.ibm.com/services/uddi/v2beta/inquiryapi!IBM V2|http://uddi.rte.microsoft.com/inquire!Microsoft|http://services.xmethods.net/glue/inquire/uddi!XMethods|; privateinquiryurls=<script>alert(2)</script>; privatepublishurls=http://[vulnerablehost]:8080/uddi/uddilistener; consumer_display=HOME_VERSION%3d1%26FORGOT_BUTTON_ROLE%3d73; cookie_check=yes; LANG=en_US%3BUS; navlns=0.0;
重定向請求返回如下:
<td valign=top width=1%></td>
<td valign=top width=70%>
<p>
<h2>Private Registry:</h2>
<h3>Search URL: <b><script>alert(1)</script></b></h3>
<H3>Publish URL: <b>http://[vulnerablehost]:8080/uddi/uddilistener</b></h3>
</p>
參考:
http://www.freebuf.com/articles/web/20407.html
uddiexplorer.war