当前位置: 首页 > 知识库问答 >
问题:

我如何防止盲XSS在javaSpring引导在@quiestBody

丁豪
2023-03-14

目前,api看起来像:-

@Autowired
private EmployeeService empService;

@ApiOperation(value = "adds a new Employee")
@PostMapping(value = /add)
public EmployeeDetails employeeDetails(@RequestBody @Valid @NotNull EmployeeDetails empDetails) {
        empservice.addNewEmployee(empDetails);
    }

员工详情:-

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
@Data
public class EmployeeDetails {
    
    private Long id;

    private String firstName;

    private String lastName;

    @Override
    public String toString() {
        return "EmployeeDetails{" +
                "id=" + id +
                ", firstName='" + firstName + '\'' +
                ", lastName='" + lastName + '\'' +
                '}';
    }
}

所以问题是要避免xss攻击

例如,如果它是这段代码

如果我们在ID的情况下给1.2,那么响应是200

我该怎么解决


共有1个答案

汲品
2023-03-14

您可以使用Hibernate validator中的@SafeHtml注释

@Entity
@Data
@SafeHtml //this do the trick
public class EmployeeDetails {
    
    private Long id;

    private String firstName;

    private String lastName;

    @Override
    public String toString() {
        return "EmployeeDetails{" +
                "id=" + id +
                ", firstName='" + firstName + '\'' +
                ", lastName='" + lastName + '\'' +
                '}';
    }
}

请参见以下示例:https://www.javatips.net/blog/anti-cross-site-scripting-xss-for-java-web-application

此外,还可以实现自定义过滤器来转义html的字符。参见此处:XSS保护请求正文中的Spring Boot转义字符

 类似资料:
  • 本文向大家介绍如何防止XSS攻击?相关面试题,主要包含被问及如何防止XSS攻击?时的应答技巧和注意事项,需要的朋友参考一下 (1) 将前端输出数据都进行转义 (2) 将输出的字符串中的\反斜杠进行转义 (3) 从url中获取的信息,防止方法是由后端获取,在前端转义后再行输出 (4) 使用cookie的HttpOnly属性,保护好cookie 详细参见:http://blog.csdn.net/fe

  • 问题内容: 我应该怎么做才能防止Spring MVC中的XSS?现在,我只是将输出用户文本的所有位置都放入标签或函数中,但这似乎容易出错,因为我可能会错过一个位置。 有没有简单的系统方法可以防止这种情况?也许像过滤器之类的?我通过在控制器方法上指定参数来收集输入。 问题答案: 在Spring中,你可以从标记生成的JSP页面中转义html 。这为XSS攻击提供了很多途径,并且可以通过以下三种方式自动

  • 本文向大家介绍Django如何实现防止XSS攻击,包括了Django如何实现防止XSS攻击的使用技巧和注意事项,需要的朋友参考一下 一、什么是XSS攻击 xss攻击:----->web注入   xss跨站脚本攻击(Cross site script,简称xss)是一种“HTML注入”,由于攻击的脚本多数时候是跨域的,所以称之为“跨域脚本”。   我们常常听到“注入”(Injection),如SQL

  • 如何实现防止XSS的Java ESAPI? 除了在构建路径中添加ESAPI jar之外,还需要其他配置吗? 提前感谢您的回答。

  • 我在Checkmarx中扫描了我的项目,它显示为一个java对象的反射XSS,该对象是下面方法中的一个参数,这是checkmarx报告的错误: 方法读取数据使用查询对象位于 /src/main/java/com/认知/hap/核心/控制器/数据控制器的第 743 行.java获取查询元素的用户输入。然后,此元素的值在未经正确清理或验证的情况经代码,并最终在方法读取数据使用QueryObject 中

  • 我序列化一个对象并将其保存为我的硬盘上的文件。当我阅读它时,只有在某些情况下它会抛出EofException。经过几个小时的调试,我无法找到一个问题。 下面是我的代码: 问题:我的序列化对象现在被破坏了,然后它现在是垃圾吗? 因为这个对象负责呈现用户保存的UI。如果用户登录,它应该呈现以前保存的UI状态。但是,对于某些用户,文件无法反序列化。