WEB系统安全
web开发过程中,安全隐患问题不容忽视。
本文介绍常见的安全问题及防护措施
登录认证防暴力破解
登录认证模块提供防暴力破解机制
现象:
多次更换不同用户名密码尝试登录
防护措施:
生物智能手段,主要防护措施如下:
图片识别
文字识别
短信验证码
第三方确认-阿里云登录在手机支付宝确认
多次失败登录
现象:
多次获取验证码并且登录失败,且还在持续尝试登录
防护措施:
连续获取验证码、登录5次失败后,账号锁定15分钟本条防御措施应该和生物智能手段联用,防护效果更加
url越权
现象:
当前登录用户访问了不属于自己菜单权限的页面
防护措施:
对于每一个需要授权访问的页面都必须核实用户的访问标识是否允许。 用户是否被授权去某个页面操作,防止URL越权 Vue-路由守卫处判断拦截
登录口令保护
现象:
用户登录后,后端返回的口令直接保存,并在下一次请求时直接传输。此时如果是正常用户访问目标服务器,是没有任何问题的。如果攻击者拿到口令尼,攻击者将有和被攻击者同样的身份权限去访问目标网站接口。
防护措施:
用户登录后保存sessionId在localstoage或者cookie中,再去请求接口时需要加密登录口令后再传输,不能直接拿原始sessionId请求,访问api越权操作
越权
垂直越权
垂直越权是一种“基于URL的访问控制”设计缺陷引起的漏洞,又叫做权限提升攻击。
现象:
攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限
水平越权
水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。
现象:
攻击者在获得目标网站登录用户登录信息后,利用数据校验漏洞访问了其他权限等级用户的数据信息。
防护措施:
1.前后端都要对用户输入信息、路由权限、数据分离进行校验,双重验证机制
2.调用功能前验证用户是否有权限调用相关功能
3.执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4.直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
5.永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
java选用工业级的处理方式-shiro框架应用
其他安全
上传问题防御
限制上传文件后缀
文件类型检查
文件内容检查
程序输出
权限控制-可写可读执行互斥
XSS
输入校验
输出转码
富文本
常见的引发XSS攻击,白名单过滤
cookie泄露冒用:
在用户登录后返回一个 签名(sign),这个签名是依靠uid生成的。都返回给客户端保存在cookie中,
接口加统一拦截,校对uid和sign,如果正确正常返回接口,如果不正确,返回您正在进行违规操作
安全日志
日志和安全表面来看,好像关系不大。但是一旦因为安全问题产生垃圾数据时,日志的作用就会无限放大。通过日志记录可以分析出何时、何人、何地做了什么操作,对我们后期删除垃圾数据、恢复异常数据来讲,意义重大。
总结
安全问题对于web应用开发来说,避无可避。问题出现的方式层出不穷,但是只要掌握了核心的处理思路就会事半功倍。下图是笔者整理的安全攻防策略图:
欢迎各位读者指出错误的地方,留言讨论。
参考资料:
### 如何入门网络安全
#### 建议
多看书
阅读永远是最有效的方法,尽管书籍并不一定是最好的入门方式,但书籍的理解需要一定的基础;但是就目前来看,书籍是比较靠谱的入门资料。
现在Web安全书籍比较多,因此大家在学习的过程中可以少走了不少的弯路。如果以上推荐书籍阅读有困难,那就找自己能看得进的 Web 安全的书
当然纸上谈兵终觉浅,最好还是实践一下。
对于那些没有学习方向和资料的同学,可以看下我整理的资源,这份资料经历过社会的实践,可以说是当下全网较全的网络安全知识体系:
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
本文介绍了Web开发中的常见安全问题,如登录认证的防暴力破解、URL越权、登录口令保护等,并提出了相应的防护措施,包括使用生物智能验证、限制登录尝试次数、前后端权限校验、加密传输、XSS防护和安全日志记录等。同时强调了对用户输入的严格检查和不信任任何用户输入的原则。
1617

被折叠的 条评论
为什么被折叠?



