安全报告处理 HCL AppScan Standard

SQL 盲注

这次运用 sql转义字符来处理了

也可以直接拦截后返回


“Content-Security-Policy”头缺失或不安全

过滤器中Header

HttpServletResponse res = (HttpServletResponse)args1;
res.setHeader("Content-Security-Policy", "script-src * 'unsafe-inline' 'unsafe-eval';frame-ancestors 'self'; object-src 'self'");

“X-Content-Type-Options”头缺失或不安全

res.addHeader("X-XSS-Protection", "X-XSS-Protection: 1; mode=block");


“X-XSS-Protection”报头缺失或不安全

res.addHeader("X-Content-Type-Options", "X-Content-Type-Options: nosniff");


查询中接受的主体参数

@RequestMapping(value = "/aaaaa", method = RequestMethod.POST)
@RequestMapping(value = "/bbbbb", method = RequestMethod.POST)


HTML 注释敏感信息泄露

        直接删除无效的注释


应用程序错误

验证参数值是否在其预计范围和类型内。不要输出调试错误消息和异常

原因是 参数名 包含非法字符验证,

解决方法, 在过滤器中增加正则校验

public static boolean isCheck(String str) {
		String regEx = "[ `~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\n|\r|\t";
		Pattern p = Pattern.compile(regEx);
		Matcher m = p.matcher(str);
		return m.find();
	}

如果包含直接返回 错误码 和 提示信息

res.setCharacterEncoding("UTF-8");
res.sendError(123, "您的请求来源不合法!");

你可能感兴趣的:(Java,java)