Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程

Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程

一、服务端请求伪造漏洞

服务端请求伪造(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

http://blog.gdssecurity.com/labs/2015/3/30/weblogic-ssrf-and-xss-cve-2014-4241-cve-2014-4210-cve-2014-4.html

uddiexplorer.war