zoukankan      html  css  js  c++  java
  • Fortify Audit Workbench 笔记 File Disclosure: Spring 文件泄露(Spring框架)

    File Disclosure: Spring 文件泄露(Spring框架)

    Abstract

    若通过用户输入构造服务器端重定向路径,攻击者便能够下载应用程序二进制码(包括应用程序的类或 jar 文件) 或者查看受保护的目录下的任意文件。

    Explanation

    在以下情况下,会发生文件泄露:

    1. 数据从一个不可信赖的数据源进入程序。
    2. 数据用于动态地构造一个路径。
      例 1: 下面的代码会接受不可信赖的数据,并使用其构造服务器端转发所使用的路径。
    ...
    String returnURL = request.getParameter("returnURL");
    return new ModelAndView(returnURL);
    ...
    

    如果攻击者使用请求参数提供与某个敏感文件位置相匹配的 URL,他们将能够查看该文件。 例如,使用"http://www.yourcorp.com/webApp/logic?returnURL=WEB-INF/applicationContext.xml" 将能够查看该应用程序的 applicationContext.xml 文件。 一旦攻击者掌握了 applicationContext.xml 的信息,他们便能够定位和下载 applicationContext.xml 中引用的其他配置文件,甚至类文件或 jar 文件。 这样一来,攻击者将能够获得与应用程序有关的敏感信息,并以之为目标发动其他类型的攻击。

    Recommendation

    请不要要使用不可信赖的数据请求服务器端资源。 而应使用介于位置与路径之间的间接方法。 请不要使用:

    <a href="http://www.yourcorp.com/webApp/logic?nextPage=WEB-INF/signup.jsp">New Customer</a>
    

    而应使用:

    <a href="http://www.yourcorp.com/webApp/logic?nextPage=newCustomer">New Customer</a>
    

    服务器端逻辑应具有逻辑名称与服务器端路径的映射(以逻辑名称为键),在上例中,键 "newCustomer" 中存储的路径应为 "/WEB-INF/signup.jsp"。

  • 相关阅读:
    转:验证日期的正则表达式比较全面地验证
    IIS应用地址池监控
    Net预编译 真的好用与否
    关键字检索,找到所有数据
    vue 文件上传自定义实现
    docker 基础(一)
    input表单中嵌入百度地图
    linux系统光盘开机自动挂载-配置本地yum源
    linux学习笔记基础篇(一)
    构建apache web 服务器
  • 原文地址:https://www.cnblogs.com/mahongbiao/p/12862858.html
Copyright © 2011-2022 走看看