介绍:
对于和后端有交互的地方没有做参数的接收和输入输出过滤,导致恶意攻击者可以插入一些恶意的 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,不会匹配到模式为

本文探讨了Java代码审计中针对XSS跨站脚本攻击的防范,介绍了审计思路,以javasec为例展示了如何查找敏感点。提出了三种修复方案,包括全局过滤器配置、使用StringEscapeUtils函数和Spring的HtmlUtils工具类。并详细分析了一个实际的CVE-2018-19178案例,该案例中<embed>标签被用于XSS攻击,解决方案是加强过滤器处理。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



