Struts2 +类加载器漏洞+如何重现

时间:2014-04-28 12:36:17

标签: security struts2 classloader

如何重现安全问题CVE-2014-0094。我用谷歌搜索但无法找到任何相同的参考。

3 个答案:

答案 0 :(得分:1)

搞定了。

我必须启用日志记录(对于ognl包)才能看到错误。

将参数(如 class.classLoader.resource.dircontext.docBase = someText )传递给struts2应用程序。

本地主机:8080 / sampleApp / showlogin.do class.classLoader.resource.diretext.docBase = someText

然后在日志中我会看到类似的东西。

java.lang.IllegalArgumentException: Document base base does not exist or is not a readable directory
    at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:136)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

应用解决方法后,我在日志中看不到上述错误。

参考: http://www.brentron.com/safe/web/9248.html http://isayan.cocolog-nifty.com/diary/2014/04/s2-020.html

答案 1 :(得分:0)

为了获得更好的帮助,建议您遵循官方Struts2 Security Bulletins中的指南。

  1. 您所引用的错误已在S2-020中报告,并且没有升级的解决方法和Struts 2.3.16.1中的补丁。

  2. 警告:上述补丁不够,如S2-021中所述,因此有一种新的解决方法(对于无法立即升级的用户) Struts 2.3.16.2中的最终补丁。

答案 2 :(得分:0)

要重现此问题,请发送

http://host/struts2-blank/example/X.action?class.classLoader

问题记录在S2-020下。