本文主要记录一些由Appscan扫描出来的漏洞问题和修复方式,项目的是java项目,技术栈主要是springboot的一个单体结构。

漏洞 是否已修复 处理方式
1.Content-Security-Policy”头缺失或不安全 后台过滤器响应头设置返回
2.X-Content-Type-Options”头缺失或不安全 后台过滤器响应头设置返回
3.X-XSS-Protection”报头缺失或不安全 后台过滤器响应头设置返回
4.HTTP Strict-Transport-Security 头缺失或不安全 后台过滤器响应头设置返回
5.加密会话(SSL)Cookie 中缺少 Secure 属性 nginx.config设置
6.发现可高速缓存的 SSL 页面 后台过滤器响应头设置返回
7.支持较老的 TLS 版本 nginx.config设置
8.自动填写未对密码字段禁用的 HTML 属性 html修改
9.检测到 SHA-1 密码套件 nginx.config设置

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

在这里插入图片描述

修复方案

自定义拦截器中响应头新增Content-Security-Policy参数

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.addHeader("Content-Security-Policy","object-src 'self'");

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

在这里插入图片描述

修复方案

自定义拦截器中响应头新增X-Content-Type-Options参数

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.addHeader("X-Content-Type-Options","nosniff");

3、“X-XSS-Protection”头缺失或不安

在这里插入图片描述

修复方案

自定义拦截器中响应头新增X-XSS-Protection参数

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.addHeader("X-XSS-Protection","1; mode=block");

4、HTTP Strict-Transport-Security 头缺失或不安

在这里插入图片描述

修复方案

自定义拦截器中响应头新增Strict-Transport-Security参数

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.addHeader("Strict-Transport-Security","max-age=63072000; includeSubdomains; preload");

5、加密会话(SSL)Cookie 中缺少 Secure 属性

在这里插入图片描述

修复方案

nginx配置中找到重置cookie

server {
    listen 80;
    server_name kkguan.com;
    rewrite ^(.*)$ https://kkguan.com/$1 permanent;
}

server {
    listen       443 ssl;
	add_header Set-Cookie "HttpOnly";
	add_header Set-Cookie "Secure";

6、发现可高速缓存的 SSL 页面

在这里插入图片描述

修复方案

自定义拦截器中响应头新增Cache-Control参数

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
        response.addHeader("Pragma", "no-cache");
        response.addHeader("Expires", "0");

7、支持较老的 TLS 版本

在这里插入图片描述

修复方案

nginx配置中找到ssl protocols,去掉TLSv1 TLSv1.1

server {
    listen 80;
    server_name kkguan.com;
    rewrite ^(.*)$ https://kkguan.com/$1 permanent;
}

server {
    listen       443 ssl;

    ssl_protocols TLSv1.2 TLSv1.3;

8、自动填写未对密码字段禁用的 HTML 属性

在这里插入图片描述

修复方案

对应的input 将“autocomplete”属性正确设置为“off”

9、检测到 SHA-1 密码套件

在这里插入图片描述

修复方案

nginx配置中找到ssl_ciphers ,限制密码套件

server {
    listen 80;
    server_name kkguan.com;
    rewrite ^(.*)$ https://kkguan.com/$1 permanent;
}

server {
    listen       443 ssl;

    ssl_ciphers  ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384;
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐