owasp top10漏洞 10是什么意思

2013 OWASP Top 10 & OWASP-CHINA
2013 OWASP Top 10
项目简介:
2013年OWASP TOP 10版本在2010年版本中新添加了一类风险,以涵盖更普遍、更重要的安全漏洞;并基于最新的流行程度数据,对一些风险重新排序。另外,该版本通过一类特定风险而引入了“组件安全”风险,并移除了2010年版中的A6“安全配置错误”风险。
英文项目地址:https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
中文下载链接:当前位置: >
OWASP_TOP10_2013
OWASP_TOP10_2013
自己翻译的OWASP2013,仅供参考交流。
Web应用中十个最严重的安全风险
重要声明:....................................................................................................................................... 2
关于OWASP ..................................................................................................................................... 2
A1-注入 ............................................................................................................................................. 3
我会对于注入脆弱么? ........................................................................................................... 4
我如何阻止注射 ....................................................................................................................... 4
攻击场景例子 ........................................................................................................................... 4
A2-错误的认证和会话管理 ............................................................................................................. 5
我对劫持攻击脆弱么? ........................................................................................................... 5
我如何阻止这些东西? ............................................................................................................. 5
攻击场景例子 ........................................................................................................................... 6
A3-跨站脚本 ..................................................................................................................................... 6
我容易受XSS攻击么? ........................................................................................................... 6
我如何阻止XSS攻击 ............................................................................................................... 7
攻击案例 ................................................................................................................................... 7
A4-不正确的直接对象引用 ............................................................................................................. 8
我容易收到攻击么? ............................................................................................................... 8
如何阻止攻击? ....................................................................................................................... 8
攻击案例 ................................................................................................................................... 9
A5-安全配置错误 ............................................................................................................................. 9
我容易受攻击? ....................................................................................................................... 9
如何阻止这些? ..................................................................................................................... 10
攻击场景事例 ......................................................................................................................... 10
A-6 敏感数据暴露 ......................................................................................................................... 11
我容易受到数据的暴露吗? ................................................................................................. 11
我应该如何防止这些问题? ................................................................................................. 11
攻击情形事例: ..................................................................................................................... 12
A-7 缺少功能层面的访问控制 ..................................................................................................... 12
我易受强制访问吗? ............................................................................................................. 12
我应该如何防止暴力访问? ................................................................................................. 13
攻击情形事例 ......................................................................................................................... 13
A-8 伪造跨站请求 ......................................................................................................................... 14
我容易受到CSRF吗? ........................................................................................................... 14
我如何防止CSRF? ................................................................................................................ 14
攻击情形事例 ......................................................................................................................... 15
A-9 应用已知脆弱性的组件 ......................................................................................................... 15
我受到了已知漏洞的影响了吗? ......................................................................................... 16
我该如何阻止? ..................................................................................................................... 16
攻击情形事例 ......................................................................................................................... 16
A-10 未验证的重定向和传递 ....................................................................................................... 17
我受到了重定向的影响了吗? ............................................................................................. 17
我该如何阻止? ..................................................................................................................... 17
攻击情形事例 ......................................................................................................................... 18
Word文档免费下载:OWASP_TOP10_2013
(共18页)
18 重要声明: OWASP 计划在 2013 年 3 月 30 号结束的公共评论周期后, 2013 年 4 月或 5 月发布最 在 终的 OWASP Top10 最新公众版本。 OWASP Top10 ...18 重要声明: OWASP 计划在 2013 年 3 月 30 号结束的公共评论周期后, 在 2013 年 4 月或 5 月发布最 终的 OWASP Top10 最新公众版本。 OWASP Top10 ...OWASP_TOP10_2010_WEB安全(中文版)_计算机软件及应用_IT/计算机_专业资料。OWASP TOP 10-2010 开放式 Web 应用程序安全项目(OWASP,Open Web Application Security...2. 常见的 10 种安全漏洞(OWASPTOP10) OWASP(开放 Web 应用安全项目组-OpenWebApplicationSecurityProject)每隔数年会更 新 10 个最关键的 Web 应用安全问题清单...OWASP_TOP10_2010_WEB安全(中文版)_IT/计算机_专业资料。OWASP top 10 2010 - The top 10 most critical web application security risks”,即&Web应用的十大关...(CSRF) &buried in A6: Security Misconfiguration& OWASP Top 10 – 2013 (New) A1 – Injection A2 – Broken Authentication and Session Management A3 – ...2013中国房地产品牌价值top10_经济/市场_经管营销_专业资料。2013 中国房地产品牌价值研究成果-TOP10 企业榜单 2013 中国房地产行业领导公司品牌领导品牌属 性 价值...5-Tony-OWASP TOP 10(2013) java 开发安全实践(调整模板)_互联网_IT/计算机_专业资料。OWASP TOP 10(2013) java 开发安全实践杭州安恒信息技术有限公司 刘志乐...2013年全球TOP10咨询公司排名_人力资源管理_经管营销_专业资料。2013 全球十大管理咨询公司 1、埃森哲 全球领先的管理及信息技术咨询机构,2003 财政年度纯收入达 118...记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华
距离上一个版本发布,已经过去了3年,在前几天,OSASP发布了2013版本的Top 10,后面加了个RC1,看来后续可能还会有修改。发现虽然许多年过去了,可是排在前面的还是那几个老东西,看来未来相当长一段时间,前面几位是很难变动了,很多Web应用扫描器都是以OWASP的这个Top 10来衡量扫描功力的,估计会引起大家的关注。
PDF下载地址:OWASP官网:
阅读:42922 | 评论:0 | 标签:
想收藏或者和大家分享这篇好文章→
? 关注Hackdig微博,点击下方按钮?
? 关注Hackdig微信,学习技术更方便16056人阅读
OWASP(开放Web软体安全项目- Open Web Application Security Project)是一个开放社群、非营利性组织,目前全球有130个分会近万名会员,其主要目标是研议协助解决Web软体安全之标准、工具与技术文件,长期 致力于协助政府或企业了解并改善网页应用程式与网页服务的安全性。
下表左边是2010年的排名,下表右边是2013年的排名,可以看出改变的地方有:
2010年的Insecure Cryptographic Storage(不安全加密存储)和Insufficient Transport Layer Protection(传输层保护不足),在2013年合并为了一个:Sensitive Data Exposure(敏感数据暴露)
2010年的Failure to Restrict URL Access(不限制URL访问),在2013年成为了Missing Function Level Access Control(功能级别访问控制缺失)
2010年中Security Misconfiguration(安全配置错误)的一部分,在2013年单独拉出来,成为了Using Known Vulnerable Components(使用已知易受攻击组件)
OWASP Top 10 – 2010 (Previous)
OWASP Top 10 – 2013 (New)
A1 – Injection
A1 – Injection
A3 – Broken Authentication and Session Management
A2 – Broken Authentication and Session Management
A2 – Cross-Site Scripting (XSS)
A3 – Cross-Site Scripting (XSS)
A4 – Insecure Direct Object References
A4 – Insecure Direct Object References
A6 – Security Misconfiguration
A5 – Security Misconfiguration
A7 – Insecure Cryptographic Storage – Merged with A9 &
A6 – Sensitive Data Exposure
A8 – Failure to Restrict URL Access – Broadened into &
A7 – Missing Function Level Access Control
A5 – Cross-Site Request Forgery (CSRF)
A8 – Cross-Site Request Forgery (CSRF)
&buried in A6: Security Misconfiguration&
A9 – Using Known Vulnerable Components
A10 – Unvalidated Redirects and Forwards
A10 – Unvalidated Redirects and Forwards
A9 – Insufficient Transport Layer Protection
Merged with 2010-A7 into new 2013-A6
A1 – Injection(注入)
原因:代码中的逻辑裸依赖于外部的输入。
分支:SQL注入、OS命令注入、XPATH注入、LDAP注入、JSON注入、URL注入
程序把用户输入的一段字符串直接用在了拼凑sql语句上,导致了用户可以控制sql语句,比如加入delete的行为、绕过用户密码验证等
使用参数形式调用sql 使用存储过程(存储过程中不要使用动态sql拼语句) 使用Linq, EF等框架来写(不要使用里面的直接拼sql语句的方式)
OS命令注入
因为是由程序拼凑命令行(包括参数)来实现调用外部程序的,因此用户也能够通过小计量来突破限制,实现调用其他外部程序
业务逻辑层要验证是否合法输入 通过System.Diagnostics.Process来实现调用外部程序
//Employee[UserName/text()=’aaron’ and password/text()=’password’] & //Employee[UserName/text()=’aaron’ or 1=1 or ‘a’ =’a’ and password/text()=’password’] 这个和典型的sql注入一样,呵呵
解决方法和sql类似,也是对查询进行参数化,如下: Declare variable $userName as xs: Declare variable $password as xs: // Employee[UserName/text()=$userName and password/text()=$password]
LDAP查询和sql查询类似,也是可以通过拼字符串得来的,因此页存在注入漏洞
{‘user’: ‘usera’, ‘sex’, ‘boy’} & {‘user’: ‘usera’, ‘sex’, ‘bo’y’} 这样会导致js报错
传统webform下,使用JSON.NET来实现json数据的生成 Mvc下,使用JSONResult来生成json数据
/a.aspx?p1=a&p1=b 如果还有个cookie,name为:p1, value: c 则,最终asp.net获取这个参数的value为:a,b,c
这个认识的还不够深入,而且和服务器端语言有关,只要asp.net会把几个参数value合并起来,其他语言都只取到一个,但是取到的是第一个还是最后一个,就看语言了。 这个和业务逻辑有很大的关系
A2 – Broken Authentication and Session Management (失效的身份认证和会话管理)
原因:Session相关的数据没有被完整替换导致的安全问题
解决关注点:Login通过后,立刻把当前Session(包含Session, Cache, Cookie)失效掉,把需要保存进Session的value重开一个Session保存进;Logout功能中,除了把当前Session失效掉外,还要把Session相关的Cache也remove掉
在login验证事件中,一旦合法身份验证通过后,就要把Session.Abort(),来重新获得新的Session(此时客户端的session cookie value也会被reset成新的)
Session要Abort 相关的缓存要clear 额外的cookie也要被clear
A3 – Cross-Site Scripting (XSS) (跨站脚本)
原因:和Injection类似,只不过xss的关注点落在了html, javascript注入上,由于内容比较多,因此单独拉出来,成为了XSS
分支:反射式XSS、存储式XSS、基于DOM的XSS
解决关注点:html的输入输出编码、javascript的编码、url的编码
由于服务器端直接调用了客户端用户输入的数据(没有经过无害化处理),导致了对广大客户端用户的损害 比如获取客户端用户在某网站的所有cookie,这样恶意用户就能实现session劫持等更进一步的攻击
对用户输入的数据要过滤特殊字符 对输出到客户端的数据也要过滤特殊字符 Html, js, url三大领域过滤方法不同,需要区别对待 Server.HtmlE Server.HtmlD Server.UrlE Server.UrlD Server.UrlPathE Js函数如下
存储式XSS比反射式XSS更加深远,范围更广;因为这种未经处理的代码是保存到数据库中的,因此时间、范围都比较广
基于DOM的XSS
AJAX程序中,JS代码没有过滤/转换用户输入的文本,导致了对DOM元素的结构性影响,或者导致了行为性的影响
Js中使用escape函数来过滤特殊字符,包括元素value、元素Attribute,都要encode起来 escape,encodeURI,encodeURIComponent的使用参考goody9807的这篇文章: /goody9807/archive//1376913.html
脚本过滤库,具体使用方法参考木子的这篇文章: /moozi/archive//1677904.html
Anti-XSS SRE
SRE: Security Runtime Engine的缩写 是一个更智能的过滤系统,具体使用参考Syed的这篇文章: /b/syedab/archive//preventing-cross-site-scripting-attacks-using-microsoft-anti-xss-security-runtime-engine.aspx
ASP.NET MVC 4
&%=Html%&&不会进行转换 &%: Html%&&会进行转换 [AllowHtml]tag 尽量不改动默认的ValidateRequest属性
A4 – Insecure Direct Object References (不安全的直接对象引用)
原因:/userdetail.aspx?userId=1,容易认为的进行猜测userId=2等等,如果没有判断权限,就容易出现信息泄露的问题;但是如果url是/userdetail.aspx?userId=ABAWEFRA则很难进行猜测
解决关注点:url参数的编码和解码
IndirectReference //根据数据库中的entity id生成UI客户端用于显示的字符串id,这个字符串id类似于散列值,不容易猜测,但是能被还原 String GenerateUIID(string/int/guid) & //根据UI客户端ID还原成原始的entity id,具体类型由T决定 String FromUIID&T&(string)
Webform开发模式下
Aspx页面中 &a href=”product.aspx?productId=&%= IndirectReference.GenerateUIID(this.productID) %&”&产品A&/a& Page_Load中 this.productId= IndirectReference.FromUIID&int&(Request.QueryString[“productId”]);
MVC开发模式下
为Entity增加IndirectReferenceID,然后ModelBinder就能自动绑定了
A5 – Security Misconfiguration (安全配置错误)
原则:最少使用模块配置、最小权限配置;适用范围:OS,IIS,数据库
解决关注点:Web.config中的Error节点配置,比如404、403错误的重定向和日志记录、日志文件不能放在网站路径下;web.config文件的加密(aspnet_regiis),具体命令如下:使用命令行,如(run as admin): C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -site &VulnerableApp& -app &/& -pe &connectionStrings&
A6 – Sensitive Data Exposure (敏感数据暴露)
原因:敏感信息需要加密保存(内存、数据库中、客户端)+加密传输(HTTPS)+不缓存(这个只是尽量,具体看情况)
解决关注点:登录、付款这样的页面要用https保护传输
密码用单向加密,如MD5 信用卡账号等需要加密后再存储到数据库中(可逆的加密方式)
传输层保护
貌似就https了,其他的不怎么了解
客户端cookie的保护
设置cookie的属性 HttpOnly Secure
数据库的数据保护
除了程序中进行加密敏感数据外,数据库级别也要使用数据库加密
A7 – Missing Function Level Access Control (功能级别访问控制缺失)
原因:UI中显示了当前用户不能进行的操作,比如禁用了某个delete按钮(能被修改成disable: 0即可使用);权限验证是否覆盖到了某功能、UI;服务器端是否进行了权限验证(业务层级别)
解决关注点:权限验证
Sample: 读取文件时,比如下载时,如:download.aspx?file=a.txt,如果被修改成了download.aspx?file=/config.xml 就麻烦了。
对UI的处理
导航栏中,如果没有权限访问的,就隐藏掉,不要弄disable之类的东西 具体页面中的按钮也是这样的处理方式,隐藏不要禁用(就是用户不能操作的,就不要让用户看到,省的麻烦) 在最终页面中要加入权限判断代码,这样即便直接输入了某特权url,由于还会在page中检查权限,因此还是安全的
对主要业务函数的处理
要有完善的安全系统
给主要业务函数贴上tag
[PrincipalPermission(SecurityAction.Demand, Role = &Admin&)] public void RemoveUserFromRole(string userName, string role) { Roles.RemoveUserFromRole(userName, role); }
A8 – Cross-Site Request Forgery (CSRF) (跨站请求伪造)
原因:利用合法用户的身份,在合法用户的终端调用请求。这些请求可能是转账…
解决关注点:重要操作不要使用get方式,如:delete.aspx?id=1;要使用post方式;为每个能进行post动作的form增加token,并且在服务器端检查token是否合法,合法则进行操作;
Webform传统开发模式
给每个请求的页面加入token的解决方法:使用Anti-CSRF组件可解决,使用方法见: & 自定义ViewState 默认的ViewState是没有加密的,很容易被看到具体的value,如通过这个工具就能看到:ViewStateDecoder,url& http://download.csdn.net/detail/skt90u/3974340 & 可以通过给ViewState自定义来缓解那么一点点,但是没办法提升到像加入token那样的力度,代码很简单: this.ViewStateUserKey=Convert.ToString(Session[“UserID”]) 如上代码即可实现对ViewState的加密,会根据this.ViewStateUserKey的value对每个ViewState进行Salt类似的加密
MVC开发模式
[HttpPost] [ValidateAntiForgeryToken] public ActionResult Login(Usr usr) { return View(); } & 在aspx模版或者Razor 模版中的form中增加如下代码: &%=Html.AntiForgeryToken() %& & 具体的方式参考这篇文章:/leleroyn/archive//1921544.html
A9 – Using Known Vulnerable Components (使用已知易受攻击组件)
原因:由于系统有意无意间使用了组件(自己的组件和第三方的组件,范围太广…),导致了不可预料的问题
解决关注点:对于自己的组件,要加强质量,这个已经和代码没有很多关系了,更多的是质量管理、版本管理方面的了,略;对于第三方的组件,要选择知名的提供商。
A10 – Unvalidated Redirects and Forwards(未验证的重定向和转发)
原因:当系统接受重定向参数(login界面居多,如:/login.aspx?returnUrl=default.aspx),由于这个url会显示在浏览器地址栏中,只要修改这个url为/login.aspx?returnUrl=/login.aspx,用户输入密码后被重定向到假冒站点的login界面(用户以为输入的密码错误了),用户再次输入密码,此时密码就被假冒站点保存起来了…
解决关注点:对于returnUrl这种参数值进行判断,只要在白名单中的url才能redirect,尽量使用相对路径来redirect
RedirectForwardDispatcher Void Config(List&string& whitelist) bool IsRedirectable(string newUrl)
String returnUrl=…; If(!RedirectForwardDispatcher.IsRedirectable(returnUrl)) { Throw exception(“Unvalidated Redirects and Forwards”); }
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:6316359次
积分:71740
积分:71740
排名:第13名
原创:435篇
转载:4678篇
译文:22篇
评论:1566条
文章:21篇
阅读:40550
文章:15篇
阅读:30700
文章:22篇
阅读:191468
(4)(8)(28)(21)(47)(1)(1)(8)(170)(814)(1012)(1351)(969)(262)(207)(2)(3)(2)(61)(19)(2)(28)(22)(37)(1)(3)(4)(6)(9)(10)(26)}

我要回帖

更多关于 owasp top 10 2015 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信