如何修复JSP表达式标记中的跨站点脚本(XSS)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修复JSP表达式标记中的跨站点脚本(XSS)相关的知识,希望对你有一定的参考价值。

我不确定如何修复Jsp中的scriptlet标记的跨站点脚本(持久性)例如

<%= value%>“/>我还附加了一个有scriptlet示例的图片我不知道如何解决这些问题,请通过证明一些fixesenter image description here来帮助我修复

答案

您可以通过框架配置进行控制。在Spring Security Framework中使用以下代码(https://docs.spring.io/spring-security/site/docs/current/reference/html/headers.html#headers-xss-protection):

一些浏览器内置支持过滤掉反射的XSS攻击。这绝不是万无一失的,但确实有助于XSS保护。

默认情况下,通常会启用过滤,因此添加标头通常只会确保它已启用,并指示浏览器在检测到XSS攻击时要执行的操作。例如,过滤器可能会尝试以最少侵入性的方式更改内容以仍然呈现所有内容。有时,这种类型的替换本身可能成为XSS漏洞。相反,最好阻止内容而不是尝试修复它。为此,我们可以添加以下标头:

X-XSS-Protection: 1; mode=block

默认情况下包含此标头。但是,如果需要,我们可以自定义它。例如:

<http>
    <!-- ... -->

    <headers>
        <xss-protection block="false"/>
    </headers>
</http>

同样,您可以使用以下内容在Java Configuration中自定义XSS保护:

@EnableWebSecurity
public class WebSecurityConfig extends
WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        // ...
        .headers()
            .xssProtection()
                .block(false);
    }
    }

以上是关于如何修复JSP表达式标记中的跨站点脚本(XSS)的主要内容,如果未能解决你的问题,请参考以下文章

请教关于使用appscan 检测"基于DOM的跨站点脚本"漏洞修复问题

XSS跨站脚本攻击

如何修复 Veracode - 跨站点脚本 - CWE ID 80 - 基本 XSS - 在 .each 函数中使用 $(item)

如何关闭跨站点脚本 (XSS) 筛选器

XSS攻击

用于 XSS 预防的 ESAPI 不起作用