最近找工作浏览时,发现好多安全渗透岗的工作要求中有提到熟悉OWASP top 10这点,特意上网搜了下发现有好多关于这方面介绍,因此总结了一下,同时也分享给大家。

OWASP top 10是什么?

首先介绍下OWASP,开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。
OWASP项目最具权威的就是其“十大安全漏洞列表”(OWASPTop 10),OWASP Top 10不是官方文档或标准,而只是一个被广泛采用的意识文档,被用来分类网络安全漏洞的严重程度,目前被许多漏洞奖励平台和企业安全团队评估错误报告。这个列表总结了Web应用程序最可能、最常见、最危险的十大漏洞,可以帮助IT公司和开发团队规范应用程序开发流程和测试流程,提高Web产品的安全性。

其主要有2013版和2017版的,对比如下:

排行榜 如下

OWASP top 10 2017

TOP 1: SQL 注入

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。

造成SQL注入漏洞原因有两个:过滤输入: 没有对输入的数据进行过滤. 转义输出: 没有对发送到数据库的数据进行转义。

TOP 2:失效的身份认证和会话管理

介绍:
身份认证
身份认证最常用于系统登录,形式一般为用户名和密码登录方式,在安全性要求较高的情况下,还有验证码、客户端证书、Ukey等
会话管理
HTTP本身是无状态的,利用会话管理机制来实现连接识别。身份认证的结果往往是获得一个令牌,通常放在cookie中,之后对用户身份的识别根据这个授权的令牌进行识别,而不需要每次都要登陆。
原理:
与认证和会话管理相关的应用程序功能往往得不到正确实施,导致了攻击者可以破坏密码,密钥,会话令牌或实施漏洞冒充其他用户身份。

TOP 3: 敏感信息泄露

由于管理员或者技术人员等各种原因导致敏感信息泄露,攻击者可以窃取或修改这些未加密的数据,以进行信用卡诈骗、身份盗窃或其他犯罪。因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、被存储的数据以及浏览器交互数据。

Top4:XML 外部实体(XXE)(新增)

许多较早的或配置不佳的XML处理器评估了XML文档中的外部实体引用。外部实体可以通过URI文件处理器、在Windows服务器上未修复的SMB文件共享、内部端口扫描、远程代码执行来实施拒绝服务攻击,例如:Billion Laughs攻击。

Top5:失效的访问控制(合并原4、7)

未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

原先的
TOP 4: 直接引用不安全的对象(2013)

指一个已经授权的用户通过更改访问时的参数,从而访问到原本其并没有得到授权的对象。

TOP 7: 缺少功能级的访问控制(2013)

这个漏洞也是与认证相关的,这种漏洞具体是指在系统已经对url的访问做了限制的情况下,但这种限制并没有生效。常见的例子是系统没有对用户进行角色的检查,以及用户通过修改URL的action并指向未被授权页面就能访问该页面同样是个漏洞

Top6: 安全配置错误

安全配置错误是数据中最常见的缺陷,这部分缺陷包含:手动配置错误、临时配置(或根本不配置)、不安全的默认配置、开启S3 bucket、不当的HTTP 标头配置、包含敏感信息的错误信息、未及时修补或升级(或根本不修补和升级)系统、框架、依赖项和组件。

TOP 7: 跨站脚本攻击 XSS

跨站脚本攻击的英文全称是Cross Site Script,为了和CSS区分,缩写为XSS。发生的原因是网站将用户输入的内容输出到页面上,在这个过程中可能有恶意代码被浏览器执行。跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人经常忽略其危害性。而其中危害最大的是存储式的。

主要分为以下三种:

  1. 存储式;

  2. 反射式;

  3. DOM式;

Top8:不安全的反序列化(新增)

当应用程序接收到恶意的序列化对象时,会出现不安全的反序列缺陷。不安全的反序列化会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,也可以重播、篡改或删除系列化对象以欺骗用户、进行注入攻击和提升权限。

Top9: 使用含有已知漏洞的组件

组件(例如:库、框架和其他软件模块)运行和应用程序相同的权限。如果使用含有已知漏洞的组件,这样的攻击可以造成严重的数据丢失或服务器接管。使用含有已知漏洞的组件的应用程序和API,可能会破坏应用程序防御、造成各种攻击并产生严重影响。

Top10:不足的日志记录和监控(新增)

不足的日志记录和监控,以及事件响应集成的丢失或无效,使得攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超过200天,并且通常通过外部检测方检测,而不是通过内部进程或监控检测。

2017版去除的两个

TOP 8: 跨站请求伪造 CSRF(2013)

跨站请求伪造攻击,Cross-Site Request Forgery(CSRF),攻击者在用户浏览网页时,利用页面元素(例如img的src),强迫受害者的浏览器向Web应用服务器发送一个改变用户信息的HTTP请求。CSRF攻击可以从站外和站内发起。从站内发起CSRF攻击,需要利用网站本身的业务,比如“自定义头像”功能,恶意用户指定自己的头像URL是一个修改用户信息的链接,当其他已登录用户浏览恶意用户头像时,会自动向这个链接发送修改信息请求。从站外发送请求,则需要恶意用户在自己的服务器上,放一个自动提交修改个人信息的htm页面,并把页面地址发给受害者用户,受害者用户打开时,会发起一个请求。威胁描述:攻击者使用CSRF攻击能够强迫用户向服务器发送请求,导致用户信息被迫修改,甚至可引发蠕虫攻击。如果恶意用户能够知道网站管理后台某项功能的URL,就可以直接攻击管理员,强迫管理员执行恶意用户定义的操作。

TOP 10:未验证的重定向和转发(2013)

在Web应用中重定向是极为普通的,并且通常重定向所引发的目的是带有用户输入参数的目的url,而如果这些重定向未被验证,那么攻击者就可以引导用户访问他们想要用户访问的站点。同样,转发也是极为普遍的,本质上转发是在同一个应用中对一个新页面发送请求,并且有时是用参数来定义目标页面的。同样,如果参数未被验证,那么攻击者就可以利用其来绕过认证或是授权检查

面试常见问题之OWASP top10相关推荐

  1. 【基础概念】 Redis简介和面试常见问题

    Redis简介和面试常见问题 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起 ...

  2. html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇

    原标题:html5面试常见问题及答案:移动端布局与适配篇 1. 移动布局自适应不同屏幕的几种方式 (1)响应式布局 (2)100%布局(弹性布局) (3)等比缩放布局(rem) 2. iscroll安 ...

  3. python面试常见问题-Python面试常见问题,涉及Python各个方面

    原标题:Python面试常见问题,涉及Python各个方面 爬虫面试常见问题 一.项目问题: 1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎样解决的 2.用的什么框架.为什么选择这个框架 二.框架问 ...

  4. 【面试】Java面试常见问题汇总(不含答案)、面试指导学习笔记

    面试常见问题角度 String是基本数据类型吗? int和Integer有什么区别? HashMap和HashTable的区别,及其实现原理. ArrayList/HashMap的源码.如何实现源码 ...

  5. tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总

    简述 本文主要介绍TCP四次挥手的工作原理,以及在面试中常见的问题. 字段含义 seq序号:Sequence Number,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行 ...

  6. 面试pythone_python面试常见问题有哪些

    python面试常见问题有:1.Python是如何被解释的:2.什么是PEP8:3.Python是怎样管理内存的:4.什么是Python装饰器:5.Python提供哪些内置类型等等. 大量免费学习推荐 ...

  7. 复旦计算机考研复试要口试吗,2017复旦大学考研复试:英语口语面试常见问题汇总...

    2017复旦大学考研复试:英语口语面试常见问题汇总本站小编 辅仁网/2017-12-29 A magazine publisher is trying to decide how many magaz ...

  8. C++面试常见问题一

    C++面试常见问题一 转自:https://oldpan.me/archives/c-interview-answer-1 原作者:[oldpan][https://oldpan.me/] 前言 这里 ...

  9. 分布式系统面试 - 常见问题

    分布式系统面试 - 常见问题 有一些同学,之前呢主要是做传统行业,或者外包项目,一直是在那种小的公司,技术一直都搞的比较简单.他们有共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是 ...

最新文章

  1. 1016 Phone Bills
  2. 数据中心推动的10大企业存储新趋势
  3. Visual Studio 2017最新版正式发布!适用于任何开发人员、平台及APP丨附下载
  4. tensorflow sobel算子实现
  5. Android --- Android layout属性应有尽有
  6. 联想p720装系统_分享联想ThinkPad X1 Carbon笔记本最稳的重装WIN10系统方法
  7. consul的安装搭建
  8. 简单的Twitter:Heroku上的Play框架,AJAX,CRUD
  9. cordova 实现网页缓存_如何解决ionic,cordova混合开发的app缓存大的问题
  10. python学习笔记(python介绍)
  11. 垃圾回收算法优缺点对比
  12. 解决 QtCreator 3.5(4.0)无法输入中文的问题
  13. 移动apn接入点哪个快_最新联通上网卡APN的设置方法
  14. U-Boot工作过程
  15. Mysql分页之limit用法与limit优化
  16. logrotate日志转储
  17. 经过了多种方法的尝试,终于找到Quartus破解成功但是没有办法编译的解决方法
  18. 【RDKit】Python化学包RDkit的教程
  19. 算法入门篇:排序算法(一)
  20. 一天一个面试题之——反射

热门文章

  1. 电脑ip地址错误,网络无法连接怎么一键解决?
  2. ping +域名 具体能做什么
  3. Python数据分析之股票双均线策略制定
  4. WeChat Patch 电脑微信多开消息防撤回补丁通用版
  5. HTML播放华为云视频流,华为云点播服务视频管理功能强大,上云就是省心
  6. 关于嵌入式驱动开发,这篇文章让你了解透彻!
  7. android图片播放器,android案例之图片播放器
  8. 计算机维护与维修方法,浅谈计算机维护与维修方法
  9. 转帖 金庸所有门派以及所有门派下的所有武功一览
  10. 中性策略、回测结果对比、OK实盘报错“Close order size exceeds your available size”、OK开通新账户注意事项