zoukankan      html  css  js  c++  java
  • 由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了)
    
    
    
    
    
    
    
  • 相关阅读:
    numpy数据集练习——鸢尾花数据集
    git error:gpg failed to sign the data fatal: failed to write commit object
    后台定位Report
    iOS上传构建版本遇到的问题(Xcode8.1)
    动态计算UITableViewCell高度<进阶>
    计算代码运行时间
    安装Homebrew-包管理器
    SDWebImage : NSURLErrorDomain
    nil / Nil / NULL / NSNull
    NSURLCache
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/5333074.html
Copyright © 2011-2022 走看看