见好多招聘要求都包括top 10 ,今天就来总结一下,也为了自己加深记忆

TOP1-注入

简单来说,注入往往是应用程序缺少对输入进行安全型检查所引起的,攻击者把一些包含指令的数据发送给解释器,解释器会把收到的数据转换成指令执行。常见的注入包括sql注入,--os-shell,LDAP(轻量目录访问协议),xpath(XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言),HQL注入等。

危害如下:

注入可以导致数据丢失或被破坏,缺乏可审计性或拒绝服务。注入漏洞有时甚至可导致完全接管主机

如何防范:

1.使用安全的API,避免使用解释器

2.对输入的特殊的字符进行ESCAPE转义处理

例子:LIKE '%M%' ESCAPE ‘M’

使用ESCAPE关键字定义了转义字符“M”,告诉DBMS将搜索字符串“%M%”中的第二个百分符(%)作为实际值,而不是通配符

3.使用白名单来规范化的输入验证方法

TOP2-失效的身份认证和会话管理

与认证和会话管理相关的应用程序功能往往得不到正确实施,导致了攻击者可以破坏密码,密钥,会话令牌或实施漏洞冒充其他用户身份

危害如下:

这些漏洞可能导致部分甚至全部账户遭受攻击,一旦攻击成功,攻击者就能执行合法的任何操作

如何防范:

1.使用内置的会话管理功能

2.通过认证的问候

3.使用单一的入口点

4.确保在一开始登录SSL保护的网页

TOP3-跨站XSS

跨站脚本是最普遍的web应用安全漏洞。当应用程序在发送给浏览器的页面中包含用户提供的数据,但没有经过适当验证和转义,就会导致跨站

危害如下:

攻击者在受害者浏览器中执行脚本以劫持用户会话,插入恶意内容,重定向用户,使用恶意软件劫持用户浏览器等

种类:

存储型,反射型,DOM型

如何防范:

1.验证输入

2.编码输出(用来确保输入的字符被视为数据,而不是作为html被浏览器所解析)

TOP4-不安全的对象直接引用

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

危害如下:

这种漏洞可以损坏参数所引用的所有数据

如何防范:

1.使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击为授权资源

2.访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查

3.避免在url或网页中直接引用内部文件名或数据库关键字

4.验证用户输入和url请求,拒绝包含./ ../的请求

TOP5-伪造跨站请求(CSRF)

跨站请求伪造,利用了网站允许攻击者预测特定操作所有细节这一特点。由于浏览器自动发送会话cookie等认证凭证,导致攻击者可以创建恶意的web页面来产生伪造请求。这些伪造的请求很难和合法的请求区分开

危害如下:

攻击者可以让受害者用户修改任何允许修改的数据,执行任何用户允许的操作,例如修改密码,登录注销等

如何防范:

1.给每个HTTP请求添加一个不可预测的令牌,并保证该令牌对每个用户会话来说是唯一的。

最好的办法就是将独有的令牌包含在隐藏字段中,通过HTTP请求发送,避免在URL中暴露出来

2.要求用户重新认证或判断他们是一个真实德用户

TOP6-安全误配置

安全配置错误可以发生在一个应用程序堆栈的任何层面,包括平台,web服务器,应用服务器,数据库,架构和自定义的代码。攻击者通过访问默认账户,未使用的网页,未安装的补丁的漏洞,未被保护的文件和目录等,以获得对系统为授权的访问

危害如下;

系统可能在未知的情况下被完全攻破,用户数据可能随着时间被全部盗走或篡改。甚至导致整个系统被完全破坏

如何防范:

1.自动化安装部署

2.及时了解并部署每个环节的软件更新和补丁信息

3.实施漏洞扫描和安全审计

TOP7-限制URL访问失败(缺少功能级访问控制)

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

危害如下:

攻击者很容易就能把网址改成享有特权的网页,这样就可以使用匿名或普通用户访问未授保护的私人页面,从而提升未授权功能和相关数据信息

如何防范:

1.检查管理权限的过程并确保能够容易进行升级和审计

2.默认缺省情况下,应该拒绝所有访问的执行权限。对于每个功能得访问,需要明确的角色授权

3.检查每个功能分配的权限合理有效

TOP8-未验证的重定向和转发

在Web应用中重定向是极为普通的,并且通常重定向所引发的目的是带有用户输入参数的目的url,而如果这些重定向未被验证,那么攻击者就可以引导用户访问他们想要用户访问的站点

同样,转发也是极为普遍的,本质上转发是在同一个应用中对一个新页面发送请求,并且有时是用参数来定义目标页面的。同样,如果参数未被验证,那么攻击者就可以利用其来绕过认证或是授权检查

危害如下:

攻击者通过重定向可以试图安装恶意软件或诱使受害人泄露密码等铭感信息,通过转发可以绕过访问限制

如何防范:

1.避免使用重定向和转发

2.如果使用了,不要在确定目标时涉及到用户参数

3.如果无法避免使用用户参数,则应确保目标参数值对于当前用户是有效的并已授权

如果是需要登录的,可以从session当中获取登录信息,然后判断

TOP9-应用已知脆弱性的组件

应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,可能导致严重的数据丢失或服务器接管

如何防范:

1.识别正在使用的组件和版本,包括所有的依赖

2.更新组件或引用的库文件到最新

3.建立安全策略来管理组件的使用

TOP10-敏感信息暴露

这个好像没什么可说的,就注重对敏感数据的保护即可

转载于:https://www.cnblogs.com/cn-36/p/6723536.html

浅谈OWASP TOP 10相关推荐

  1. 2021 OWASP Top 10 榜单(初稿)发布,头牌易主

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 OWASP Top 10 榜单列出的是最危险的 web 漏洞,时隔四年且十多年以来,该榜单霸主易主. OWASP Top 10 榜单创建于21世 ...

  2. OWASP Top 10 – 2013, 最新十大安全隐患(ASP.NET解决方法)

    OWASP(开放Web软体安全项目- Open Web Application Security Project)是一个开放社群.非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解 ...

  3. decimal转为string sql_SQL注入详解|OWASP Top 10安全风险实践(二)

    本文为一些列连载文章之一,不定期更新,计划目录如下: OWASP介绍 SQL注入 命令注入 XML外部实体注入 XPATH注入 反射式.DOM及存储XSS 失效的身份认证和会话管理 不安全的直接对象引 ...

  4. ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)

    本博文翻译自: https://dotnetcoretutorials.com/2017/10/25/owasp-top-10-asp-net-core-cross-site-scripting-xs ...

  5. ASP.NET Core中的OWASP Top 10 十大风险-失效的访问控制与Session管理

    本博文翻译自: https://dotnetcoretutorials.com/2017/10/16/owasp-top-10-asp-net-core-broken-authentication-s ...

  6. OWASP TOP 10 2017中文译文

    说明:owasp top 10其实有中文官方版本:本文是按着英文版进行翻译而成. 官方中文版:http://www.owasp.org.cn/owasp-project/OWASPTop102017v ...

  7. 【OWASP Top 10】2021版

    [OWASP Top 10]2021版 A01:失效的访问控制(Broken Access Control) 失效的访问控制(Broken Access Control)从第五位上升到了第一位.94% ...

  8. CoBOT Java安全漏洞检测类型与OWASP TOP 10对应关系

    OWASP(Open Web Application Security Project)开放式web应用程序安全项目,是一个非营利性组织,不依附于任何企业或财团的安全组织,几乎每隔3年发布的OWASP ...

  9. 安全服务/渗透测试工程师_面试题之OWASP TOP 10

    欢迎关注我的微信公众号:安全攻防渗透 信息安全领域原创公号,专注信安领域人才培养和知识分享,致力于帮助叁年以下信安从业者的学习和成长. 思考了很长时间,最近一直在准备安全服务工程师的面试题,说到底还是 ...

  10. OWASP Top 10 安全漏洞详解

    OWASP或Open Web Security Project是一家非营利性慈善组织,致力于提高软件和Web应用程序的安全性. 该组织根据来自各种安全组织的数据发布顶级Web安全漏洞列表. 根据可利用 ...

最新文章

  1. 网站增加外链的基本原则技巧有哪些?
  2. ssl证书(https) iis 配置安装
  3. Java xml 工具 JDOM 使用详解.
  4. 客户合作伙伴关系研究
  5. [入门]理想的小白程序员成长曲线
  6. Codeforces1080F. Katya and Segments Sets
  7. Android开发:5-3、Menu、Dialog、Fragment
  8. Tooltip工具提示控件的使用
  9. oracle运维dba面试题,一份DBA面试题目---亲身经历
  10. python自动化办公都能做什么-用 Python 自动化办公,我与大神之间的差距一下就...
  11. 存储过程判断查询结果是否为空_vlookup查询为什么会出现#N/A?原来知道这6种解决方法这么重要...
  12. WINDOWS SERVER 2012标准版密钥
  13. HTTP请求的完全过程
  14. 2022保安员(初级)考试题库及模拟考试
  15. 中国移动湖南公司2022校园春季招聘正在进行中
  16. oCam电脑录屏软件 下载及使用图解(免费高清无水印)
  17. zookeeper 分布式barrier
  18. 14 最小二乘估计原理推导和线性回归的外推等
  19. 在web代理中对于大的POST数据使用 REQUEST_CONTENT
  20. python提取支付宝的账单_python通过adb爬取支付宝移动端账单信息

热门文章

  1. java 参数传值的练习题及答案_04_javaSE面试题:方法的参数传递机制
  2. html插入循环图片,javascript – HTML5在带有for循环的画布上绘制图片?
  3. mysql关键字及其用法_mysql的优化-explain
  4. 【数据库原理实验(openGauss)】实验报告
  5. innodb逻辑存储结构
  6. 【CentOS 7笔记43】,防火墙和iptables filter表#
  7. 第17讲 | 去中心化与区块链交易性能
  8. 通过rsync备份静态文件
  9. EntityFramework Core并发导致显式插入主键问题
  10. zabbix登陆拒绝报没有权限