本文主要是介绍常见中高危漏洞修复建议(汇总),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
常见漏洞修复建议(汇总)
1、未授权访问
添加访问权限控制,对访问系统资源得用户身份进行标识,禁止未授权得情况下访问后台资源。
2、敏感信息泄露
禁止在前端显示明文或密文信息。
3、任意文件下载
使用白名单限制下载路径,建议不要使用拼接文件路径参数的方式拼接下载路劲,可采用随机文件ID的方式传递需要下载的文件。
4、目录遍历
使用白名单限制可以查看的路径。
5、弱口令
对存在弱口令的账号密码进行更改,要求密码长度至少8位,并且包含数字、大写字母、小写字母、特殊符号任意三种组合;添加图形验证码,识别人机交互;增加登录失败处理机制,限制登录尝试次数。
6、垂直越权
1.对账号权限大小进行鉴权处理,判断用户会话身份。
2.前后端同时对用户输入信息进行校验,双重验证机制
3.调用功能前验证用户是否有权限调用相关功能
4.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
5.直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
7、shrio-550反序列化命令执行
升级shiro版本到官方最新版,并随时保持更新。
8、存储型XSS漏洞
[1] 对用户输入的数据进行严格过滤,包括但不限于以下字符及字符串
Javascript script src img onerror prompt expression { } ( ) < > = , . ; : " ' # ! / * \
[2] 根据页面的输出背景环境,对输出进行编码
[3] 使用一个统一的规则和库做输出编码
[4] 对于富文本框,使用白名单控制输入,而不是黑名单
[5] 在Cookie 上设置HTTPOnly 标志,从而禁止客户端脚本访问Cookie
9、sql注入漏洞
[1]对用户的输入进行严格过滤,包括所有的参数,URL和HTTP头部等所有需要传给数据库的数据。包括但不限于以下字符及字符串:
select and or like regxp from where update exec order by having drop delete ( ) [ ] < > , . ; : ' " # % + - _ = / * @
[2]预编译SQL语句,而不要动态组装SQL语句,否则必须确保在使用输入的数据组装成SQL语句之前,对特殊字符进行预处理。
[3] 以最小权限执行SQL语句
10、app敏感信息泄露(api key)
将key存储在服务端,通过客户端请求获取或者将key加密编译在动态链接库中
11、etcd未授权访问漏洞
kubernetes的master会安装etcd v3用来存储数据,如果管理员进行了错误的配置,导致etcd未授权访问的情况,那么攻击者就可以从etcd中拿到kubernetes的认证鉴权token,从而接管集群。
12、后台爆破
添加验证码机制,识别人机交互;增加登录失败处理机制,如登陆失败x次之后,限制其在30分钟内无法再次登录。
13、验证码复用
1.完善验证码机制,无论登录成功与否,对于当前已经使用过的验证码要即使销毁并重新生成。
2.限制用户提交的验证码不能是空的。
3.判断提交的验证代码是否与服务器存储的一致。
4.禁止将验证代码的明确信息发送给客户。
这篇关于常见中高危漏洞修复建议(汇总)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!