S2-001 漏洞由于其解析 jsp 文件的标签数据时,官方举例是 form 标签的 textfield 数据中,在验证表单出错时,页面再次回到验证出错页面,这时如果开启了 altSyntax (默认开启)且为字符串类型时,struts2会对标签在值栈中自栈顶向栈底找与表单 name 名同名的属性值进行 ognl 表达式解析并显示。故在表单中输入形如 %{...
今天复现S2-001 远程代码执行漏洞,Apache Struts2 是一个用于开发Java Web应用程序的开源框架。S2-001 是 Struts2 中的一个早期安全漏洞,特别是 2.0.0 到 2.0.8 版本,Struts2 在处理 HTTP 请求时,没有正确验证和过滤用户输入的数据。这导致攻击者可以通过特定的请求参数注入恶意代码。 ailx10 1927 次咨询 4.9...
S2-001 远程代码执行漏洞(漏洞复现) 阜阳第一网络菜鸡 关注 漏洞 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ...
本次复现s2-001漏洞。 准备工作: idea,s2源码,tomcat 新建一个项目,下一步,完成 创建好之后把项目目录如下更改: 从s2源码中提出jar包,源码下载地址:http://archive.apache.org/dist/struts/binaries/struts-2.0.1-all.zip web.xml <?xml version="1.0" encoding="UTF-8"?> ...
S2-001漏洞复现 前言 最近在学习渗透测试的时候,看到大佬分析了Struts2的漏洞,为了更好的理解漏洞原理,对Struts2漏洞做一次复现。 漏洞信息 Struts2 是流行和成熟的基于 MVC 设计模式的 Web 应用程序框架。 Struts2 不只是 Struts1 下一个版本,它是一个完全重写的 Struts 架构。Struts2 的标签中使用的是OGNL...
一、漏洞信息 漏洞信息页面: S2-001 - Apache Struts 2 Wiki - Apache Software Foundation 漏洞类型: RCE(远程代码执行) 受影响组件: WebWork 2.1 (with altSyntax enabled), WebWork 2.2.0 - WebWork 2.2.5, Struts 2.0.0 - Struts 2.0.8 漏洞成因: WebWork 2.1+和 Struts 2的altSyntax特性允许将OGNL...
三、复现步骤 1、docker开启服务 2、访问<虚拟机IP>:8080 [^我的虚拟机ip为192.168.1.128]: 3、S2-001判断 [^由漏洞原理可知,可以通过%{value}进行判断是否存在S2-001,这里我们构建payload为:%{1+1}]: 4、可以看到value已经被执行,构造poc填写到输入框中。 扩展: keyDescription of Associated Value中文描述...
复现 一、服务搭建 1、进入vulhub中s2-001所在目录 /usr/vulhub/struts2/s2-001(根据vulhub个人安装目录自行调整) 1. 2、查看漏洞说明 cat README.zh-cn.md (README.md为英文版) 1. 3、docker容器启动 docker-compose up 1. 4、查看docker进程,确定服务端口 ...
Struts2漏洞复现 Struts2是一个基于MVC设计模式的Web应用框架 S2-001 漏洞原理: 后端将用户之前提交的参数使用OGNL表达式%{}进行解析,然后重新填充到对应的表单数据中,例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用%{value}对提交的数据执行了一次OGNL表达式解析,所以可以直接构造payload进行...
复现漏洞S2-001 1、验证,输入密码%{1+1} 验证.png 2、结果,返回2,存在漏洞 结果.png 3、利用payload弹出计算机 %{#a=(newjava.lang.ProcessBuilder(newjava.lang.String[]{"cmd.exe","/c","calc"})).redirectErrorStream(true).start(),#b=#a.getInputStream(),#c=newjava.io.InputStreamReader(#...