【问题标题】:Struts2 + Classloader Vulnerability + How to reproduceStruts2 + 类加载器漏洞 + 如何重现
【发布时间】:2014-04-28 12:36:17
【问题描述】:

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

【问题讨论】:

  • 检查这个。它并不完全说明 0094 而是 0050 。 blog.spiderlabs.com/2014/02/…
  • 谢谢。我确实看过,我能够重现 0050 在那里我可以观察到 CPU 使用率上升,我必须终止 tomcat 进程。但是对于 CVE: 0094 我没有观察到任何东西。我喜欢重现 CVE: 0094 并应用补丁并进行验证。
  • @AshishGupta 好链接!

标签: security struts2 classloader


【解决方案1】:

搞定了。

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

class.classLoader.resource.dircontext.docBase=someText 等参数传递给 struts2 应用程序。

localhost: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

【讨论】:

    【解决方案2】:

    为了获得更好的帮助,建议您按照官方Struts2 Security Bulletins中的指导。

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

    2. 警告:上述补丁还不够,正如S2-021 中所报告的那样,因此有一个新的解决方法(针对无法立即升级的用户)和一个确定的补丁在 Struts 2.3.16.2 中。

    【讨论】:

    • 感谢您的更新。是的,我看到了建议的解决方法。但在申请之前,我想看看同样的影响/效果。我喜欢重现该问题并应用修复程序并确保它不会再次发生。我正在寻找此漏洞的概念证明,我无法在建议的站点中找到任何参考。
    【解决方案3】:

    要重现问题,只需发送

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

    S2-020 下记录了该问题。

    【讨论】:

    • 谢谢。我应该使用上面的 URL 观察什么(传入 class.classloader 作为选项)。日志文件中的错误?我没有收到任何错误,一切似乎都很好。我不确定我应该观察什么(在日志文件/工作流中)来查看此漏洞的影响。
    猜你喜欢
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2014-09-14
    • 2022-01-12
    • 2015-07-11
    • 1970-01-01
    • 2022-07-20
    • 2011-05-10
    相关资源
    最近更新 更多