- 加密会话(SSL)Cookie中缺少Secure属性
给cookie添加secure属性:
在ASP.NET的项目中在Web.config中添加如下配置:
代码语言:javascript复制<httpCookies requireSSL="true" />
- SSL中的查询参数:
改为在POST请求中发送
由于加密请求的敏感性,建议您尽可能使用HTTP POST(不带URL字符串中的参数),以避免向其他人泄露URL 和参数值。
- 不安全的第三方链接
rel="noopener noreferrer"
- 发现可高速缓存的SSL页面
设置cache-control属性:
代码语言:javascript复制<meta http-equiv="cache-control" content="no-cache">
- 未实施加密
在全局入口中增加当前url的过滤,如果起始字符不是https,就直接返回,提示未实施加密,请求无效
代码语言:javascript复制//判断是否为https开头
String referer=request.getHeader("Referer");
if(!referer.startsWith("https://")){
forwordException(req, request, response, "","未实施加密,请求无效");//包装一个跳转错误的方法
return;
}
- 缺少HTTP Strict-Transport-Security头
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains"/>
</customHeaders>
</httpProtocol>
</system.webServer>
ASP.NET 如何解决 缺少HTTP Strict-Transport-Security头
代码语言:javascript复制Strict-Transport-Security响应报头(通常缩写为 HSTS)是一种安全功能,可以让一个网站告诉大家,它应该只使用HTTPS,而不是使用 HTTP 进行通信的浏览器。
- 过度许可的CORS访问测试
AppScan检测到“Access-Control-Allow-Origin”头的许可权太多