• 九、【漏洞复现】Struts 2 远程代码执行漏洞s2-046(CVE-2017-5638)


    九、【漏洞复现】Struts 2 远程代码执行漏洞s2-046(CVE-2017-5638)

    9.1、漏洞原理

    Struts 2是一个基于MVC设计模式的Web应用框架,本质上相当于一个Servlet,在MVC设计模式中,Struts2作为控制器来建立模型与视图进行数据交互。  攻击者通过发送恶意构造的HTTP数据包利用该漏洞(通过构造HTTP请求头中的Content-type)在服务器上执行系统命令,进一步完全控制该服务器,造成拒绝服务,数据泄露,网站篡改等后果。  该漏洞无需任何前置条件(如开启dmi,debug等功能),以及启用任何插件,危害较为严重。 

    9.2、影响范围

    Struts 2.3.5 – Struts 2.3.31 Struts 2.5 – Struts 2.5.10

    不受影响的版本 Struts 2.3.32 Struts 2.5.10.1 

    9.3、框架识别

    主要使用定向漏洞检测工具或使用Goby、AWVS、指纹识别类平台识别 

    快速检测方式

    使用知道创宇SeeBug​​照妖镜​​可以直接检测站点是否存在本漏洞

    9.4、漏洞复现

    直接上工具

    9.5、修复建议

    1. 更新Apache Struts2框架至最新版本,该版本已修复了该漏洞。
    2. 如果无法立即更新,可以将以下代码添加到struts.xml文件中的标签中,以禁用OGNL表达式:

    1. 配置Web应用程序的防火墙以阻止所有非必要的流量。
    2. 监控Web应用程序的日志文件和网络流量,以检测任何异常活动。
    3. 在应用程序中使用安全编码实践,例如输入验证和输出编码,以减轻其他漏洞的风险。
    4. 定期进行漏洞扫描和安全审计,以确保应用程序的安全性。
  • 相关阅读:
    字符串反转
    译文 | A poor man‘s API
    moco接口框架介绍
    Java高级应用——异常处理
    智慧应急解决方案-最新全套文件
    TF-IDF
    Java项目开发—在线考试系统(附源码+课件+数据库)
    全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速...
    Web自动化测试详细流程和步骤
    Linux 指令学习
  • 原文地址:https://blog.csdn.net/weixin_52351575/article/details/133173383