OWASP TOP 10 介绍及防范
1.注入 Injection
Web安全头号大敌。注入攻击漏洞往往是应用程序缺少对输入进行安全性检查所引起的。攻击者把一些包含攻击代码当做命令或者查询语句发送给解释器,这些恶意数据可以欺骗解释器,从而执行计划外的命令或者未授权访问数据。注入漏洞通常能SQL查询、LDAP查询、OS命令、程序参数等中出现。
防范:
1.使用安全的API,避免使用解释器或提供参数化的接口
2.使用白名单来规范化的输入验证方法
3.对输入的特殊字符进行Escape转义处理
4.权限最小化,减轻被注入的影响
2.失效的身份认证和会话管理 Broken Authentication and Session Management
与认证和会话管理相关的应用程序功能往往得不到正确管理,这就导致攻击者破坏密码、密匙、会话令牌或利用实施漏洞冒充其他用户身份。
防范:
1.使用强大的认证和会话管理控制-OWASP的应用安全验证标准
2.使用简单集中标准化的认证方式
3.确保SSL在任何时候都会保护会话
4.使用会话管理功能
会话管理:当用户不操作时,系统必须自动终止超时会话,必须有时间限制;必须提供退出功能,允许用户强制退出会话;会话标识足够随机,防止攻击者猜测到标识;用户登录后必须分配新的会话标识,不使用用户未登录前所使用的标识,防止会话攻击
3.跨站脚本-XSS
XSS的出现时间跟SQL差不多,是最普遍的web应用安全漏洞。当应用程序在发送给浏览器的页面中包含用户提供的数据,但没有经过适当验证或转译,就会导致跨站脚本漏洞。XSS允许攻击者在受害者的浏览器中执行脚本,这些脚本可以劫持用户会话,破坏网站,或将用户重定向到恶意站点。
防范:
1.对所有不可信的输入数据进行恰当的转义escape
2.使用白名单的具有恰当的规范化解码功能的输入验证方法
3.使用内容安全策略(CSP)来抵御整个站点的攻击
4.不安全的直接对象引用 Insecurity Direct Object Reference
当开发人员公开对内部实现对象(如文件、目录或数据库键)的引用时,就会出现直接对象引用。如果没有访问控制检查或其他保护,攻击者可以操纵这些引用来访问未经授权的数据。
防范:
1.使用基于用户或会话的间接对象访问, 防止攻击者直接攻击未授权资源.
2.访问检查:对任何来自不受信源所使用的所有直接对象引用都进行访问控制检测,确保用户对要求的对象有访问权限
5.安全配置错误 Security Misconfiguration
良好的安全性需要为应用程序、框架、应用服务器、web服务器、数据库服务器和平台定义和部署安全配置。默认值通常是不安全的。另外,软件应该保持更新。攻击者通过访问默认账户、未使用的网页、未安装补丁的漏洞、未被保护的文件和目录等,以获得对系统未授权的访问。
防范:
1.及时了解并部署每个环境的软件更新和补丁信息,包括所有的代码库(自动化安装部署)
2.统一出错处理机制,错误处理会向用户显示堆栈跟踪或其他过于丰富的错误消息信息
3.使用提供有效分离和安全性强大的应用程序架构
6.敏感信息泄露 Sensitive Data Exposure
保护与加密敏感数据已经成为网络应用的最重要的组成部分。最常见的漏洞是应该进行加密的数据没有进行加密。使用加密的情况下常见问题是不安全的密钥和使用弱算法加密。
防范:
1.加密存储和传输所有的敏感数据
2.确保使用合适强大的标准算法和密钥,并且密钥管理到位
3.确保使用密码专用算法存储密码
4.及时清除没有必要存放的重要的/敏感数据
5.禁用自动收集敏感数据,禁用包含敏感数据的页面缓存
7.缺少功能级访问控制
大多数web应用程序在实现UI中可见的功能之前,都要验证功能级别的访问权限。但是,当访问每个函数时,应用程序需要在服务器上执行相同的访问控制检查。如果请求没有得到验证,攻击者将能够伪造请求,以便在没有适当授权的情况下访问功能。
防范:
1.检查管理权限的过程并确保能够容易进行升级和审计,切忌硬编码
2.默认缺省情况下,应该拒绝所有访问的执行权限
3.对于每个功能的访问,需要明确的角色授权。检查每个功能分配的权限合理有效
8.跨站请求伪造 CSRF
利用了网站允许攻击者预测特定操作的所有细节这一特点。由于浏览器自动发送会话cookie等认证凭证,导致攻击者能够创建恶意的web页面来伪造请求。这些伪造的请求很难和合法的请求区分开。CSRF通过伪装来自受信任用户的请求来利用受信任的网站。
防范:
1.给每个HTTP请求添加一个不可预测的令牌,并保证该令牌对每个用户会话来说是唯一性。最好是将独有的令牌包含在隐藏字段中,通过HTTP请求发送,避免在URL中暴露出来
2.要求用户重新认证或者判断他们是一个真实的用户
9.使用含有已知漏洞的组件
开发人员使用的组件也会含有漏洞,这些漏洞能够被自动化工具发现和利用。然后攻击者根据需要定制攻击代码并实施攻击。
防范:
1.标识正在使用的所有组件和版本,包括所有依赖项
2.及时关注这些组件的安全信息并保证他们是最新的
3.建立使用组件的安全策略,禁止使用未经安全评估的组件
4.在适当情况下,对组件进行安全封装,精简不必要的功能,封装易受攻击部分
10.未验证的重定向和转发
应用程序经常将用户重定向到其他网页,或以类似的方式进行内部转发。当目标网页是通过一个未验证的参数来指定时,就容易被攻击者利用。攻击者通过诱使受害人去点击未经验证的重定向链接,从而利用不安全的转发绕过安全检测。攻击者通过重定向可以试图安装恶意软件或者诱使受害人泄露密码等敏感信息,通过转发可以绕过访问控制。
防范:
1.避免使用重定向和转发
2.如果使用了重定向和转发,则不要在确定目标时涉及到用户参数
3.如果无法避免使用目标参数,则应确保目标参数值对于当前用户是有效的并已授权
OWASP TOP 10 介绍及防范相关推荐
- 德慎思信息安全OWASP系列之OWASP TOP 10
OWASP系列之OWASP TOP 10 介绍 在信息安全中渗透测试方向,OWASP TOP 10 是渗透测试人员必须要深入了解和学习的,今天我们来深入了解和学习下 OWASP 发布的以往最重要的两个 ...
- 安全服务/渗透测试工程师_面试题之OWASP TOP 10
欢迎关注我的微信公众号:安全攻防渗透 信息安全领域原创公号,专注信安领域人才培养和知识分享,致力于帮助叁年以下信安从业者的学习和成长. 思考了很长时间,最近一直在准备安全服务工程师的面试题,说到底还是 ...
- 小白必看!OWASP top 10详解
今天来学习一下什么是OWASP top 10 目录 今天来学习一下什么是OWASP top 10 A1 注入injection A2 失效的身份认证 A3 敏感数据泄露 A4 XML外部实体(XXE) ...
- 【Ruby on Rails】2021 OWASP TOP 10 的安全加固建议
写在前面 OWASP TOP 10 在去年下半年发布了新版,本文将结合新版 TOP 10 的内容,整理一份 Rails 安全实践,供开发者朋友们参考. 本文适合有一定 Rails 开发经验,期望了解应 ...
- OWASP top 10漏洞详解
一.写在前边 临近毕业,最近在找实习单位,看到好多招聘要求熟悉owasp top 10 安全漏洞,于是在经过一番查资料,终于有了大致的了解,为了加深印象,特意通过博客记录一下,也希望为有同样需求的 ...
- 2021 OWASP TOP 10 漏洞指南
一.什么是OWASP? 在 开放Web应用基金会致力于创造一个更安全的网络应用环境.它免费提供文章.工具.技术和论坛,让每个开发人员都能创建安全的代码.其最著名的项目之一是 OWASP Top 10. ...
- decimal转为string sql_SQL注入详解|OWASP Top 10安全风险实践(二)
本文为一些列连载文章之一,不定期更新,计划目录如下: OWASP介绍 SQL注入 命令注入 XML外部实体注入 XPATH注入 反射式.DOM及存储XSS 失效的身份认证和会话管理 不安全的直接对象引 ...
- OWASP Top 10 安全漏洞详解
OWASP或Open Web Security Project是一家非营利性慈善组织,致力于提高软件和Web应用程序的安全性. 该组织根据来自各种安全组织的数据发布顶级Web安全漏洞列表. 根据可利用 ...
- 【Microsoft Azure 的1024种玩法】二十四.通过Azure Front Door 的 Web 应用程序防火墙来对 OWASP TOP 10 威胁进行防御
[简介] 我们都知道像 SQL 注入.跨站点脚本攻击(XSS)之类的恶意攻击以及 OWASP 发现的十大威胁都可能会导致服务中断或数据丢失,让 Web 应用程序所有者受到巨大威胁.那么如何有效的解决O ...
最新文章
- C#使用属性进行之传递查询报表
- FlexPaper二次开发问题及搜索高亮显示
- mybatis resultmap嵌套_Java面试专题之九:Mybatis面试5个大概率被问到的问题
- python爬虫基本知识_爬虫 (十三) 学习 python 基础知识点的正确姿势 (六)
- python+selenium 浏览器无界面模式运行
- BitMap的原理介绍与实现
- python建立字典的程序_Python中如何创建字典Dict
- Google:2-1 tfkeras简介
- 为什么你说的话别人不愿意听?
- 《原力计划【第二季】》第 4 周周榜揭晓!!!
- DialogBoxIndirectParam
- vue v-model计算器案例
- 松下PLC项目实例,两台CPU间通过RS485通讯,10轴定位控制
- 2021最新的NVIDIA显卡排行榜前十
- 使用Aspose Java在word中绘制插入表格
- win10关闭电池保护模式_win10系统Ie浏览器开启、关闭保护模式的操作方法
- 图像处理中二次曲线拟合
- (四)以太坊——运用truffle框架部署第一个DAPP ---- Pet-Shop
- 中国麻纺行业竞争动态及产销需求预测报告(2022-2027年)
- 新工科数学基础 系列书籍
热门文章
- 卷毛机器人抢大龙_世界第一机器人卷毛杀人书25层,屠杀峡谷之巅钻一局:重演抢大龙...
- 测试总监: 你这么坚决离职,下家找好了吗?
- 【释义】NP complete概念浅析(涵盖:P问题,NP问题,NP完全问题,NP难问题)
- 纵深防御体系建设-终端防护之EDR
- JS键盘事件: onkeyup onkeypress onblur onfocus作用。
- 用于半导体测试的模块化开关
- 计算机教师用英语怎么说,信息技术与英语教学的融合
- 常用HTML标签分享系列一
- 【Unity】通过Plane播放视频存在的颜色偏暗的问题
- 计算机培训网络培训心得,计算机网络网络培训心得体会..doc