天道酬勤

Struts2漏洞

##先了解Struts是啥?

Apache Struts2 作为世界上最流行的 Java Web 服务器框架之一,广泛应用于各种大型网站中。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。

##Struts2原理

Struts2的核心是使用的webwork框架,处理 action时通过调用底层的getter/setter方法来处理http的参数,它将每个http参数声明为一个ONGL(这里是ONGL的介绍)语句。当我们提交一个http参数:?user.address.city=Bishkek&user[‘favoriteDrink’]=kumys 。ONGL将它转换为:
action.getUser().getAddress().setCity(“Bishkek”)
action.getUser().setFavoriteDrink(“kumys”)
这是通过ParametersInterceptor(参数过滤器)来执行的,使用用户提供的HTTP参数调用 ValueStack.setValue()

##啥是SSH?

SSH在JAVAEE中表示三种框架,即 Spring + Struts +Hibernate。

##漏洞出现点

通常会出现在www.xxx.com/xxx.action

后缀为.action,一般是在登录、搜索处。

##检测漏洞

利用工具:Struts2-Scan

python Struts2Scan.py -u http://www.xxxxxx.com/login.action  //基于python3

工具下载地址:https://github.com/HatBoy/Struts2-Scan

如下图:null
免责声明:本文章内容只用于学习与研究!切勿用于非法行为!

赞(0) 打赏
未经允许不得转载:HackerGu‘s Blog » Struts2漏洞
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注黑客技术的研究

联系我们联系我们

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

微信扫一扫打赏