一、说明

        1、SpringBoot项目

        2、PC管理

        3、安全小组扫描出项目漏洞,必须整改

二、漏洞及处理

1、用户ID自增且明文传输

【安全】安全 | java | 记一次安全漏洞处理_风险分析

2)可能造成的问题

        如有两个用户角色分别是普通用户和管理员,普通用户拥有查看管理的个人信息,可能会造成敏感信息泄露如:手机号、邮箱、地址等敏感信息。

3)整改建议

        对url中userid参数进行加密传输。

4)整改

        DES对userId加密传输

5)整改后

        

【安全】安全 | java | 记一次安全漏洞处理_安全_02

~~

2 、文件上传漏洞

1)文件存储用的是minio,对象存储没有限制文件格式

2)风险分析

        任意文件上传漏洞让攻击者可以直接上传后门程序,控制网站并且获取网站或者主机系统的最高的控制权限。

3)整改建议

        限制文件类型,可以采用白名单方式。

4)整改

        增加文件类型限制,仅支持业务需要的文件类型,比如: xlsx,png

~~       

3、全站点击劫持

1)未设置响应头X-Frame-Options

2)风险分析

在网页中将恶意代码等隐藏在看似无害的内容(如按钮)之下或者将透明的iframe覆盖在一个正常的网页上,并诱使用户点击的手段。也可以与 XSS 和 CSRF 攻击相结合,突破传统的防御措施,提升漏洞的危害程度。

3)整改建议

所有请求增加响应头SAMEORIGIN

4)整改代码

@Configuration
public class FrameFilter implements Filter {


@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse resp = (HttpServletResponse) servletResponse;
//resp.setHeader("x-frame-options","x-frame-options");
resp.setHeader("X-Frame-Options","sameorign");
resp.setHeader("X-XSS-Protection","1;mode=block");
resp.setHeader("X-Content-Type-Options","nosniff");
resp.setHeader("X-Download-Options","noopen");
filterChain.doFilter(servletRequest, servletResponse);
}
}
~~

4、登录账号密码明文传输

1)登录账号与密码传输未加密

2)风险分析

        攻击者通过在局域网上嗅到网络流量,获得用户名密码、SESSIONID等敏感信息的明确传输证明书。

3)整改建议

        使用https或者使用js对账号密码加密

4)整改

        使用RSA加密

~~