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了)
    
    
    
    
    
    
    
  • 相关阅读:
    ubuntu 14.04 安装python包psycopg2
    vmare 往 virtualbox迁移
    docker-compose & docker 镜像/加速
    nodejs & npm & gulp 安装和配置
    airflow 优化
    airflow 部署
    windows 上vmare超卡的问题解决方案
    HDU 6781 Solo (贪心 + 优先队列)
    HDU 6779 Drink (最小费用流)
    HDU 6778 Car (状压DP)
  • 原文地址:https://www.cnblogs.com/zhangchenglzhao/p/5333074.html
Copyright © 2011-2022 走看看