美文网首页
struts2 漏洞学习

struts2 漏洞学习

作者: 小小怪吃吃吃 | 来源:发表于2020-07-11 14:40 被阅读0次

未完待续...

一、基础知识

1、Struts介绍

Struts是一个特别常用的开源web框架,用于扩展JAVA Servlet API并使用了模型(M),视图(V),控制(C)体系结构。使用这个框架,我们可以用各种标准技术(如 JSP、JavaBeans、XML等)创建可维护、可扩展并且灵活的 Web 应用程序。
之后,Struts的Java EE Web框架的团体,决定合作共同开发一个新的,整合了WebWork与Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,原Struts的1.x版本产品称为“Struts 1”。Struts项目并行提供与维护两个主要版本的框架产品——Struts 1与Struts 2。所以struts项目的两个产品就是 struts1和struts 2。

Struts 2 架构

Struts2 是一个MVC框架,控制器是通过Struts2 分派servlet过滤器以及拦截器进行实现,模型是通过Actions进行实现,而视图则是结果类型和结果的结合。值栈和OGNL提供共同的路线、链接以及与其他组件之间的集成。

2、OGNL表达式

  • OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一种功能强大的表达式语言(Expression Language,简称为 EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 Struts框架使用开源项目OGNL作为默认的表达式语言。
  • OGNL 有一个上下文(Context)概念,支持对象方法调用,如:×××.doSomeSpecial()。
  • 支持类静态的方法调用和值访问,支持赋值操作和表达式串联。
  • OGNL 三要素:表达式(Expression)、根对象(Root Object)、上下文环境(Context)。

二、Struts2漏洞扫描利用工具

1、Struts2-Scan

https://github.com/HatBoy/Struts2-Scan

三、实例分析

参考:
1、https://www.jianshu.com/p/72c8492064c9
2、https://www.jianshu.com/p/72c8492064c9

相关文章

网友评论

      本文标题:struts2 漏洞学习

      本文链接:https://www.haomeiwen.com/subject/jcojcktx.html