介绍:
对于和后端有交互的地方没有做参数的接收和输入输出过滤,导致恶意攻击者可以插入一些恶意的 js 语句
来获取应用的敏感信息。
审计思路:
扫描所有的 HttpServletRequest 查看相关的上下文环境。
这里以javasec为例:
先将1存储进去
这里是将xss存储到了cookie里边
访问就可以看见了
javasec处理方法:
这里提供几个具体的处理方式。
修复方案:
方案一
全局编写过滤器
1、首先配置 web.xml,web.xml是java web 项目的一个重要的配置文件,但是web.xml文件并不是Java web工程必须的,web.xml文件的主要作用用来配置:欢迎页、servlet、filter等。但是当web工程中没用到这些时,可以不用web.xml文件来配置web工程。做全局过滤器需要要用到 filter,因此首先要做的是来配置web.xml文件,添加如下配置信息:
<filter>
<filter-name>xssAndSqlFilter</filter-name>
<filter-class>com.cup.cms.web.framework.filter.XssAndSqlFilter</filterclass>
</filter>
<filter-mapping>
<filter-name>xssAndSqlFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
这里要注意的是,我们的配置是/*而不是/,< url-pattern>/</url-pattern> 会匹配到/login这样的路径型url,不会匹配到模式为