面试常见问题之OWASP top10
最近找工作浏览时,发现好多安全渗透岗的工作要求中有提到熟悉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属于被动式的攻击,因为其被动且不好利用,所以许多人经常忽略其危害性。而其中危害最大的是存储式的。
主要分为以下三种:
存储式;
反射式;
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相关推荐
- 【基础概念】 Redis简介和面试常见问题
Redis简介和面试常见问题 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起 ...
- html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇
原标题:html5面试常见问题及答案:移动端布局与适配篇 1. 移动布局自适应不同屏幕的几种方式 (1)响应式布局 (2)100%布局(弹性布局) (3)等比缩放布局(rem) 2. iscroll安 ...
- python面试常见问题-Python面试常见问题,涉及Python各个方面
原标题:Python面试常见问题,涉及Python各个方面 爬虫面试常见问题 一.项目问题: 1.你写爬虫的时候都遇到过什么反爬虫措施,你是怎样解决的 2.用的什么框架.为什么选择这个框架 二.框架问 ...
- 【面试】Java面试常见问题汇总(不含答案)、面试指导学习笔记
面试常见问题角度 String是基本数据类型吗? int和Integer有什么区别? HashMap和HashTable的区别,及其实现原理. ArrayList/HashMap的源码.如何实现源码 ...
- tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总
简述 本文主要介绍TCP四次挥手的工作原理,以及在面试中常见的问题. 字段含义 seq序号:Sequence Number,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行 ...
- 面试pythone_python面试常见问题有哪些
python面试常见问题有:1.Python是如何被解释的:2.什么是PEP8:3.Python是怎样管理内存的:4.什么是Python装饰器:5.Python提供哪些内置类型等等. 大量免费学习推荐 ...
- 复旦计算机考研复试要口试吗,2017复旦大学考研复试:英语口语面试常见问题汇总...
2017复旦大学考研复试:英语口语面试常见问题汇总本站小编 辅仁网/2017-12-29 A magazine publisher is trying to decide how many magaz ...
- C++面试常见问题一
C++面试常见问题一 转自:https://oldpan.me/archives/c-interview-answer-1 原作者:[oldpan][https://oldpan.me/] 前言 这里 ...
- 分布式系统面试 - 常见问题
分布式系统面试 - 常见问题 有一些同学,之前呢主要是做传统行业,或者外包项目,一直是在那种小的公司,技术一直都搞的比较简单.他们有共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是 ...
最新文章
- 1016 Phone Bills
- 数据中心推动的10大企业存储新趋势
- Visual Studio 2017最新版正式发布!适用于任何开发人员、平台及APP丨附下载
- tensorflow sobel算子实现
- Android --- Android layout属性应有尽有
- 联想p720装系统_分享联想ThinkPad X1 Carbon笔记本最稳的重装WIN10系统方法
- consul的安装搭建
- 简单的Twitter:Heroku上的Play框架,AJAX,CRUD
- cordova 实现网页缓存_如何解决ionic,cordova混合开发的app缓存大的问题
- python学习笔记(python介绍)
- 垃圾回收算法优缺点对比
- 解决 QtCreator 3.5(4.0)无法输入中文的问题
- 移动apn接入点哪个快_最新联通上网卡APN的设置方法
- U-Boot工作过程
- Mysql分页之limit用法与limit优化
- logrotate日志转储
- 经过了多种方法的尝试,终于找到Quartus破解成功但是没有办法编译的解决方法
- 【RDKit】Python化学包RDkit的教程
- 算法入门篇:排序算法(一)
- 一天一个面试题之——反射
热门文章
- 电脑ip地址错误,网络无法连接怎么一键解决?
- ping +域名 具体能做什么
- Python数据分析之股票双均线策略制定
- WeChat Patch 电脑微信多开消息防撤回补丁通用版
- HTML播放华为云视频流,华为云点播服务视频管理功能强大,上云就是省心
- 关于嵌入式驱动开发,这篇文章让你了解透彻!
- android图片播放器,android案例之图片播放器
- 计算机维护与维修方法,浅谈计算机维护与维修方法
- 转帖 金庸所有门派以及所有门派下的所有武功一览
- 中性策略、回测结果对比、OK实盘报错“Close order size exceeds your available size”、OK开通新账户注意事项