常见中高危漏洞修复建议(汇总)

常见漏洞修复建议(汇总)

1、未授权访问

添加访问权限控制,对访问系统资源得用户身份进行标识,禁止未授权得情况下访问后台资源。

2、敏感信息泄露

1.后端控制严谨,用*号来隐藏敏感信息展现。
2.密码策略要足够复杂,开启二步验证。
3.服务配置严谨,对测试和生产资源做好访问控制。
4.对员工培训相关安全意识。
5、禁止在前端显示明文或密文信息。

3、任意文件下载

使用白名单限制下载路径,建议不要使用拼接文件路径参数的方式拼接下载路劲,可采用随机文件ID的方式传递需要下载的文件。

4、目录遍历

漏洞影响:
攻击者能够在web应用程序所在的根目录以外的文件夹上,任意地获取数据。这其中很可能访问并下载得到敏感信息。
修复建议:
权限控制,禁止目录遍历。
针对不同的系统,有不同的设置:
1. iis:站点-属性-主目录-目录浏览-取消打钩
2. Apache:httpd.conf 文件中将Options Indexes FollowSymLinks 改为 Options -Indexes FollowSymLinks
3. nginx:nginx.conf 文件中将 autoindex off 改为 autoindex on

5、弱口令

对存在弱口令的账号密码进行更改,要求密码长度至少8位,并且包含数字、大写字母、小写字母、特殊符号任意三种组合;添加图形验证码,识别人机交互;增加登录失败处理机制,限制登录尝试次数。

6、垂直越权

1.对账号权限大小进行鉴权处理,判断用户会话身份。
2.前后端同时对用户输入信息进行校验,双重验证机制
3.调用功能前验证用户是否有权限调用相关功能
4.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
5.直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理

7、shrio-550反序列化命令执行

升级shiro版本到官方最新版,并随时保持更新。

8、存储型XSS漏洞

1.将重要的Cookie标记为 http only,使javascript中的document.cookie语句不能获取到Cookie。
2.输入检查:
在构造白名单的过程中需要保证在不影响用户体验的同时,尽可能杜绝一切不必要的输入内容,只允许用户输入我们期望的数据。 例如:
年龄的textbox中,只允许用户输入数字,而数字之外的字符都过滤掉。
3.输出检查:
对数据进行html encode处理,过滤移除特殊的html标签。

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.禁止将验证代码的明确信息发送给客户。

14、跨域资源共享(CORS)漏洞

漏洞影响:
目标系统存在cors漏洞,Access-Control-Allow-Origin字段代表允许哪个域访问。当字段值为‘*’时,就代表任意域都可以访问,这样,就导致了Cors漏洞的产生。
加固建议:
1.白名单限制:定义“源”的白名单,避免使用正则表达式,不要配置Access-Control-Allow-Origin为通配符*或null,严格效验来自请求数据包中Origin的值
2.避免将Access-Control-Allow-Credentials标头设置为true 替换值,跨域请求若不存在必要的凭证数据,则根据实际情况将其设置为false
3. 限制跨域请求允许的方法,Access-Control-Allow-Methods替代地减少所涉及的方法,降低风险
复测情况:

15、Token不注销漏洞

1. 确保JWT是独一无二的:每个JWT应该有一个唯一的标识符,并且在数据库中标记为不可复制或重用。
2. JWT的生命周期管理:设置合适的JWT有效期,并提供机制使其在不再需要时即时失效。
3. 验证JWT的使用上下文:确保每次使用JWT时,用户的会话信息(如IP地址、设备信息等)与初次发放JWT时的信息匹配,以防止会话在不同上下文被复用。
4. 使用JWT黑名单:当用户注销或主动注销时,将其相关的JWT标记为无效,并加入黑名单。
5. 使用JWT的签名机制:确保使用强签名算法,并且保管好签名使用的密钥,以防止签名被伪造。

16、Swagger-ui接口文档未授权访问漏洞

1.Swagger开启页面访问限制。
2.Swagger开启Authorize认证。

17、Accesskey泄露

禁止将accesskey 存储在静态资源中,并且限制accesskey的权限,如仅上传权限

18、Druid未授权访问漏洞

Druid 开启权限校验。

19、任意文件上传漏洞

漏洞影响:
此漏洞可被攻击者用来上传病毒,木马等一系列对系统存在危害性的文件,结合钓鱼或其它社会工程学攻击可进一步利用。
加固建议:
1.在服务器后端控制上传文件类型,处理时强制使用随机数改写文件名和文件路径,不要使用用户自定义的文件名和文件路径。
2.在服务器后端建议使用白名单的方法对上传的文件进行过滤,上传的目录不进行解析,只提供下载权限。
3.开源编辑器上传漏洞:若新版编辑器已修复漏洞,请更新编辑器版本。
4.除了以上的方法之外,还可将被上传的文件限制在某一路径下,并在文件上传目录禁止脚本解析。

20、任意文件上传漏洞

漏洞影响:
pprof暴露的端点可能泄露源代码、函数名、文件路径等信息
修复意见:
[1] 建议隐藏接口;
[2] 白名单;
[3] 关闭没必要使用的端口。

20、Token未注销漏洞

漏洞影响:
用户退出时Token未及时注销,会造成Token信息被盗用
修复意见:
用户退出登录时及时注销Token信息

22、 密码修改逻辑缺陷

漏洞影响:
目标系统在“修改密码”功能处存在逻辑缺陷,当用户密码过期或者要求下次登录重置密码时,可绕过“修改密码”继续使用系统。
修复意见:
针对密码重置功能在后台做验证,若没有通过验证则自动退出系统,禁止继续使用当前cookie或session(后台自动注销)。

23、 url传输漏洞

漏洞影响:
通过 URL 传递敏感信息时,由于 URL 可能被缓存在浏览器、代理以及被 Web 服务器写入日志等,所以通过 URL 传递敏感信息时,会容易导致信息泄露。
整改意见:
1、使用 POST 方式,或者通过 HEADER 传递。 2、对敏感信息进行加密并使用安全协议。

24、 水平越权

漏洞影响:
Web应用程序接收到用户请求,修改某条数据时,没有判断数据的所属人,或者在判断数据所属人时从用户提交的表单参数中获取了id。导致攻击者可以自行修改id修改不属于自己的数据。所有的更新语句操作,都可能产生这个漏洞。简而言之,就是通过更换的某个ID之类的身份标识,从而使 A 账号获取(修改等)B 账号数据。
整改意见:
1.前后端同时对用户输入信息进行校验,双重验证机制
2.调用功能前验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4.直接对象引用的加密资源 ID,防止攻击者枚举 ID,敏感数据特殊化处理
5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

25、 url跳转

漏洞影响:
1、钓鱼攻击:攻击者可以将用户重定向到伪装成合法网站的钓鱼网站,以获取用户的敏感信息,如用户名、密码、银行账户等。
2、恶意软件传播:攻击者可以将用户重定向到恶意网站,从而下载和安装恶意软件,对用户设备进行感染。
3、网络针对性攻击:攻击者可以将用户重定向到特定的恶意网站,利用浏览器或插件漏洞来攻击用户的系统。
4、品牌声誉受损:恶意重定向可能会导致受攻击网站的品牌声誉受损,用户会失去对该网站的信任。
整改意见:
1、输入验证:在接受用户输入并用于构建URL跳转功能之前,始终进行输入验证。确保只接受合法的URL,并防止恶意代码的注入。
2、白名单验证:对于跳转的URL,建议使用白名单验证,只允许跳转到事先定义的合法域名或URL。
3、安全编码实践:开发人员应遵循安全编码实践,包括对用户输入进行适当的转义和过滤,以防止恶意URL的构造。
4、警告和提示:在重定向之前,向用户显示明确的警告和提示信息,确保用户能够确认将要访问的目标网站的合法性。

26、 短信轰炸

漏洞影响:
短信轰炸漏洞利用系统漏洞发送大量短信,绕过限制或身份验证,向指定或任意手机号发送短信,使对方手机崩溃、费用暴涨,短信服务商平台花费大量的短信费用。
整改意见:
1.增加图形验证
2.单IP请求次数限制
3.限制一段时间内验证码发送次数

27、 APP未加固

漏洞影响:
app未加固会导致源码信息泄露,攻击者可通过代码审计等方式进一步获取系统权限。
整改意见:
混淆代码、加壳、数据加密、动态加载等

28、 敏感信息明文传输

漏洞影响:
用户名、口令等敏感数据在传输的过程中使用明文传输的方式,导致数据在传输的过程中可能被嗅探、拦截、篡改等	
整改意见:
将敏感信息进行加密传输。

你可能感兴趣的:(笔记,网络安全,系统安全,web安全)