WEB安全相关整理集合

WEB系统安全

web开发过程当中,安全隐患问题不容忽视。java

本文介绍常见的安全问题及防御措施web

登陆认证防暴力破解

登陆认证模块提供防暴力破解机制后端

现象:

屡次更换不一样用户名密码尝试登陆api

防御措施:

生物智能手段,主要防御措施以下:安全

  • 图片识别
  • 文字识别
  • 短信验证码
  • 第三方确认-阿里云登陆在手机支付宝确认

屡次失败登陆

现象:

屡次获取验证码而且登陆失败,且还在持续尝试登陆服务器

防御措施:

连续获取验证码、登陆5次失败后,帐号锁定15分钟
本条防护措施应该和生物智能手段联用,防御效果更加markdown

url越权

现象:

当前登陆用户访问了不属于本身菜单权限的页面cookie

防御措施:

对于每个须要受权访问的页面都必须核实用户的访问标识是否容许。 用户是否被受权去某个页面操做,防止URL越权 Vue-路由守卫处判断拦截session

登陆口令保护

现象:

用户登陆后,后端返回的口令直接保存,并在下一次请求时直接传输。此时若是是正经常使用户访问目标服务器,是没有任何问题的。若是攻击者拿到口令尼,攻击者将有和被攻击者一样的身份权限去访问目标网站接口。框架

防御措施:

用户登陆后保存sessionId在localstoage或者cookie中,再去请求接口时须要加密登陆口令后再传输,不能直接拿原始sessionId请求,访问api越权操做

越权

垂直越权

垂直越权是一种“基于URL的访问控制”设计缺陷引发的漏洞,又叫作权限提高攻击。

现象:

攻击者在得到低权限用户帐户后,利用一些方式绕过权限检查,访问或者操做其余用户或者更高权限

水平越权

水平越权访问是一种“基于数据的访问控制”设计缺陷引发的漏洞。

现象:

攻击者在得到目标网站登陆用户登陆信息后,利用数据校验漏洞访问了其余权限等级用户的数据信息。

越权

防御措施:

  1. 先后端都要对用户输入信息、路由权限、数据分离进行校验,双重验证机制
  2. 调用功能前验证用户是否有权限调用相关功能
  3. 执行关键操做前必须验证用户身份,验证用户是否具有操做数据的权限
  4. 直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
  5. 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

java选用工业级的处理方式-shiro框架应用

其余安全

上传问题防护

  • 限制上传文件后缀
  • 文件类型检查
  • 文件内容检查
  • 程序输出
  • 权限控制-可写可读执行互斥

XSS

  • 输入校验
  • 输出转码

富文本

常见的引起XSS攻击,白名单过滤

cookie泄露冒用:

在用户登陆后返回一个 签名(sign),这个签名是依靠uid生成的。都返回给客户端保存在cookie中,

接口加统一拦截,校对uid和sign,若是正确正常返回接口,若是不正确,返回您正在进行违规操做

安全日志

日志和安全表面来看,好像关系不大。
可是一旦由于安全问题产生垃圾数据时,日志的做用就会无限放大。
经过日志记录能够分析出什么时候、何人、何地作了什么操做,对咱们后期删除垃圾数据、恢复异常数据来说,意义重大。

总结

安全问题对于web应用开发来讲,避无可避。
问题出现的方式层出不穷,可是只要掌握了核心的处理思路就会事半功倍。
下图是笔者整理的安全攻防策略图: 安全相关

欢迎各位读者指出错误的地方,留言讨论。

参考资料:

水平越权访问与垂直越权访问漏洞

相关文章
相关标签/搜索