1、什么是OWASP?
OWASP(开放式Web应用程序安全项目)是一个开放的社区,由非营利组织 OWASP基金会支持的项目。对所有致力于改进应用程序安全的人士开放,旨在提高对应用程序安全性的认识。
其最具权威的就是"10项最严重的Web 应用程序安全风险列表" ,总结并更新Web应用程序中最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识。
最重要的版本
应用程序中最严重的十大风险
2、TOP 10 分别是哪些?
1. SQL注入
攻击方式
通过恶意字符将恶意代码写入数据库,使其运行,产生敏感数据泄露,数据库读取,进一步在数据库执行命令
攻击类型
- 未审计的数据框架
- 直接使用网址URL直接传递变量
- 未过滤的特殊字符串
- SQL错误回显
- SQL注入
- 获取敏感信息进一步在服务器执行命令,实现接管服务器的目的
防护措施
- 关闭SQL错误回显
- 对输入的字符做转译处理
- 对前端输入做白名单验证(长度,类型)
- 使用一个成熟的WAF
- 白盒审计(代码审计)
- SQL服务运行于专门的账号,并给予最小权限
2. 失效的身份认证
攻击方式
攻击者利用网站中身份认证缺陷,以此来获取高权限,攻击服务器
攻击类型
- 弱口令
- 盗用身份和账号
- 修改网络数据包以此获取用户账号权限
- 网站设计不良,可以绕过登录页面
- 设计者忘记设置注销登录,使之有机可乘
防护措施
- 网站的登录页面就使用加密连接
- 网站应该具体良好的权限控制与管理
- 网站应该具备超时注销机制
3. 敏感数据泄露
攻击方式
通过扫描发现应用程序有敏感信息
攻击类型
- 应用人员或者开发人员无意间上传敏感数据到Github,导致网站文件泄露
- 敏感数据文件设置错误,导致数据库备份文件泄露
防护措施
- 对于github泄露,定期对仓库进行扫描
- 对网站应用目录定期扫描
4. XML外部实体(XXE)
攻击方式
当应用程序解析XML文件时包含了对外部实体的的引用,通过构造恶意的XML代码,读取指定的服务器数据或资源。
攻击类型
- 读取服务器的数据或者资源 /etc/password
- 读取应用程序源码
防护措施
- 关闭DTD
- 禁止外部实体引入
5. 失效的访问控制
攻击方式
没有校验身份,直接导致攻击者绕过权限直接访问
攻击类型
- 绕过路径,如未读取的参数进行检查,导致路径绕过并进行读取敏感文件操作
- 权限提升,如未对权限进行检查,导致攻击者变更权限
- 垂直越权,导致攻击者可以从普通用户权限提升到管理员的用户权限
- 水平越权,导致攻击者可以从用户a的权限提升到用户b的权限
防护措施
- 对参数的白名单做过滤
- 对权限的控制管理重新设计与限制 最小权限
- 限制下载文件的类型
6. 安全配置错误
攻击方式
攻击者利用错误的配置,访问敏感信息或者提升权限
目录遍历
攻击类型
- 开发或者维护人员设置了错误的配置,如 python 开发中对于 Django 框架在生产环境启用了 Debug 模式
- 目录遍历
防护措施
- 检查文件扩展名
- 重命名上传文件
- 控制上传文件的权限,如关闭权限
- 移除不常用的页面,如安装目录文件
- 移除临时文件,备份文件
- 不使用常用的、简单的命名规则,防止被猜测
- 定义白名单
7. 跨站脚本(XSS)
攻击方式
攻击者使用恶意字符嵌入应用程序代码中并运行,盗取应用程序数据
攻击类型
- 存储型XSS
- DOM型XSS
- 反射型XSS
防护措施
- 验证输入/接收的字符,过滤或者替换非法字符
- 使用白名单机制
8. 不安全的反序列化
攻击方式
攻击者利用应用程序反序列化功能,构造恶意的反序列化对象攻击应用程序
攻击类型
- 远程代码执行RCE
- 注入攻击
- 越权
- 远程命令执行
防护措施
- 对数据对象签名,并作完整检查
- 数据对象中的数据做严格的类型检查,限制一部分恶意攻击
- 隔离反序列化操作环境,对序列化和反序列化进行白名单验证
- 在执行反序列化之前,对用户输入数据执行验证和过滤
9. 使用含有已知漏洞的组件
攻击方式
使用应用程序中的框架、库、组件、工具等已知漏洞攻击,获取高权限或者敏感数据
攻击类型
- 敏感信息泄露
- 提升权限
- 远程代码执行
- SQL注入
- 反序列化
- 配置错误
防护措施
- 及时更新、修复组件漏洞
- 移除不再使用的依赖组件
10. 不足的日志记录和监控
攻击方式
对于日志记录的监控不足,导致攻击者攻击系统、应用、盗取数据等操作无法被及时发现和追查
攻击类型
- 日志不规范
- 监控告警不及时
- 日志分析于人员技能缺失
防护措施
- 规范化的日志设置,提供清晰易读的操作手册,以便于后期阅读和维护
- 优化监控策略和报警流程,建立完善的规则库,以便于触发相关告警,及时通知相关人员处理
- 加强人才培训和引进专业人才,安全意识培训,聘请专业经验丰富的加入团队,提高水平