网络安全练气篇——OWASP TOP 10

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. 不足的日志记录和监控

攻击方式

对于日志记录的监控不足,导致攻击者攻击系统、应用、盗取数据等操作无法被及时发现和追查

攻击类型

  • 日志不规范
  • 监控告警不及时
  • 日志分析于人员技能缺失

防护措施

  • 规范化的日志设置,提供清晰易读的操作手册,以便于后期阅读和维护
  • 优化监控策略和报警流程,建立完善的规则库,以便于触发相关告警,及时通知相关人员处理
  • 加强人才培训和引进专业人才,安全意识培训,聘请专业经验丰富的加入团队,提高水平
相关推荐
漏洞谷1 天前
白帽子为什么几乎都绕不开 httpx:一款 HTTP 资产探测工具的技术价值
web安全·漏洞挖掘·安全工具
用户962377954484 天前
VulnHub DC-3 靶机渗透测试笔记
安全
叶落阁主5 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954487 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机7 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机7 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954487 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star7 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954487 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher9 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全