spring-security 如何针对各种攻击验证请求正文?

vsdwdz23  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(130)

我正在编写一个spring-bootrest api。
是否有更好的方法验证请求正文中的字段,使其不包含任何可能导致OWASP定义的任何类型攻击的内容?

我的方法:当前正在使用javax-validations @模式注解。

public class Request {

    @JsonProperty(value = "name")
    @Pattern(regexp = "^[a-zA-Z][a-zA-Z\\s]*[a-zA-Z]$", message = "invalid name value")
    private String name;
}

所以如果我们传json像:

{
    name : "<script>alert(1)<script>"
}

请求正文获得验证时,此请求将被拒绝。
这是进行服务器端验证以防止盲目XSS、二阶SQL和跨站点脚本等攻击的正确方法吗?

pn9klfpd

pn9klfpd1#

我们需要分析SQL注入和XSS是如何发生的。

  • 对于SQL注入,我们最好限制SQL操作的输入参数,限制用户追加或重构无效值来构造执行SQL。

一个例子是:
[1]:https://github.com/iihero/blog/blob/main/securityprj/src/main/java/com/sean/workshop/security/ids/SQLInjection.java

  • 对于XSS来说,最重要的部分是验证和限制响应部分,分析响应内容,避开XSS值。

在您的示例中,如果不输出源的内容:“alert(1)”,不会产生影响。

相关问题