我正在编写一个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和跨站点脚本等攻击的正确方法吗?
1条答案
按热度按时间pn9klfpd1#
我们需要分析SQL注入和XSS是如何发生的。
一个例子是:
[1]:https://github.com/iihero/blog/blob/main/securityprj/src/main/java/com/sean/workshop/security/ids/SQLInjection.java
在您的示例中,如果不输出源的内容:“alert(1)”,不会产生影响。