struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开始S2-001到现在的最新的s2-057漏洞,本文着重的给大家介绍一下struts2漏洞的利用详情以及漏洞修复办法。

先从1开始吧,S2-001影响的版本是Struts 2.0.0 - Struts 2.0.8版本,最早开始的版本漏洞太低级,当时的apache官方并没有设置安全机制,导致在提交参数的时候紧接的执行了递归化查询数据,导致可以插入恶意参数进行SQL注入攻击。

s2-001漏洞的修复是将struts2的默认altsyntax功能进行关闭使用其他方式进行递归化的查询,为什么要关闭altsyntax功能是因为这个功能的标签会自动的进行表达式的安全解析,关闭该功能就不会进行解析恶意参数了。

s2-003漏洞是没有过滤恶意参数,导致可以进行参数注入,影响的版本是Struts 2.0.0 - Struts 2.0.11.2版本,这次的版本新添加了一个功能就是安全拦截器,在参数传输过程中进行了关键词安全检测,一些非法注入的参数可以被过滤掉,但是apache官方并没有过滤掉特殊编码的方式进行提交,导致伪造编码进行了sql注入攻击,该漏洞的修复方案是关于编码注入这里进行详细的过滤,并使用了正则表达式进行过滤非法的注入参数。

s2-005漏洞产生的原因也跟上次的S2-003大致相同,也是在传入参数值的时候带进了恶意非法注入参数,导致可以使用ognl解析的方式来进行远程代码的注入执行。关于该漏洞的修复是需要将apache系统参数值denyMethodExecution设置为关闭,然后将参数的拦截过滤系统进行了升级,更为严格的一个正则表达式过滤。

S2-007,S2-008,S2-009漏洞详情是需要开启decmode开发模式,在调试开发代码过程中存在了注入的漏洞,甚至对于单引号并没有进行安全限制,导致可以提交到后台进行转义,造成变量上的转义注入,S2-009也是POST提交参数的注入攻击,跟S2-005,S2-003的参数注入不同的是,没有对其参数里的安全值进行过滤,导致可以插入恶意参数进行SQL数据库注入攻击。 同样的官方修复方案是对其过滤系统进行升级,严格执行正则表达式过滤一些可能导致注入的非法参数。

S2-012漏洞的产生原因是默认的apache 配置文件struts.xml对默认的对象进行了重定向的一个功能设置,导致该重定向之解析表达式的过程中产生了远程代码执行漏洞,关于该漏洞的修复官方进行了表达式解析的安全过滤。

S2-013漏洞利用是因为标签属性的原因,标签设置参数里竟然可以执行表达式,会让URL值的参数进行传递表达式,漏洞的修复也很简单对其标签属性进行了删除。S2-015的漏洞是因为系统配置里的任意通配符映射导致二次执行ognl表达式进行了远程代码的执行漏洞,首先该系统没有对网站URL进行白名单的安全检测,当使用一些特殊符号叹号,百分号的时候可以直接提交上去。造成了恶意代码的远程执行。漏洞的修补办法是对DefaultActionMapper的类进行了安全检测,过滤非法的注入代码。

如果您对网站的漏洞不懂的话,建议让网站安全公司帮您修复网站漏洞,以及清除木马后门,做好网站安全加固防止被入侵,国内的网站安全公司,像SINE安全公司、绿盟安全公司、启明星辰、都是比较专业的。

以上是S2-001到S2-015漏洞的产生原因,以及漏洞修复的办法介绍,因为文章字数限制,其他版本的struts2漏洞将会在下一篇文章中给大家讲解。

最新文章

  1. 8、FTP,二种文本传输模式
  2. UIGestureRecognizer
  3. AC自动机 LA 4670 Dominating Patterns
  4. jQuery入门级part.1
  5. jQuery bind and unbind (绑定和解除)
  6. android147 360 程序锁
  7. Android权威编程指南读书笔记(1-2章)
  8. 【CSS】Intermediate3:Shorthand Properties
  9. Ajax实现页面后台button click事件无刷新弹窗
  10. js console.log 打印 对像 数组 详解
  11. Canvas制作排序算法演示动画
  12. 云端TensorFlow读取数据IO的高效方式
  13. PhpStorm常用快捷键以及如何连接外部服务器
  14. 字符串string的相关应用
  15. LOJ6089 小Y的背包计数问题 背包、根号分治
  16. ajax请求成功前,加载中loading显示
  17. Machine Schedule HDU1150
  18. 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段
  19. ES6的新特性(19)——Module 的语法
  20. Django+Nginx+uwsgi搭建自己的博客(七)

热门文章

  1. 设计模式之简单工厂模式(Simple Factory)
  2. jQuery Mobile 移动 web 应用程序框架
  3. Selenium2学习(十四)-- 加载Firefox配置
  4. 元素float以后,div高度无法自适应解决方案
  5. zip4j之加压解压
  6. June 02nd 2017 Week 22nd Friday
  7. ZT c++ 中的重载全局new,delete
  8. python接口测试-项目实践(一) 测试需求与测试思路
  9. POJ 2942 圆桌骑士
  10. hihocoder 后缀自动机四·重复旋律6