java代码审计之XSS

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值