• 由struts错误使用引发的漏洞,使用参数作为返回的文件路径或文件名,作为返回result 值


    该错误可以导致他人任意访问该路径下的任何文件。

    struts 文件

    <?xml version="1.0" encoding="UTF-8" ?>
    
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
        <package name="help" extends="common">
            <action name="help" class="com.web.help.HelpAction">
                <result name="success">/WEB-INF/jsp/common/${help}.jsp</result>
            </action>
        </package>
    </struts>
                                                                            

    其中help 为 action 属性,
    public class HelpAction  {
        private String help;
       /**
         * 用户添加反馈意见
         * @return
         */
        public String addUserOpinion(){return SUCCESS;
        }
    }

    导致用户变换help 的值即可访问
    /WEB-INF/jsp/common/的所用文件。
    通过"../"向上跨目录读取 WEB-INF 下所有配置文件内容。
    如链接访问 /help/help!addUserOpinion?help=aa 即可访问该路径下的aa.jsp文件
    或者/help/help!addUserOpinion?help=../../web.xml?x= 即可访问web.xml文件(?x=的作用是使链接成为 web.xml?x=.jsp,就可以访问web.xml了,不加的话就成了
    web.xml.jsp了,就报404了)
    
    
    
    
    
    
    
  • 相关阅读:
    来谈谈JAVA面向对象
    手把手的SpringBoot教程,SpringBoot创建web项目(一)
    【Java框架型项目从入门到装逼】第十五节
    印章文字识别
    《图像处理实例》之 曲线之间距离求解
    机器学习常用模块
    Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6
    滑动平均模型原理+源码分析
    AlexNet实践
    TensorFlow NormLization
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/5333074.html
Copyright © 2020-2023  润新知