OWASP系列之OWASP TOP 10

介绍

在信息安全中渗透测试方向,OWASP TOP 10 是渗透测试人员必须要深入了解和学习的,今天我们来深入了解和学习下 OWASP 发布的以往最重要的两个版本,研究下我们 IT 行业从业人员最容易引入的漏洞,后续文章会更新具体的漏洞原因、场景、防护手段,提升我们的应用抗风险能力。

应用程序安全风险

攻击者可以通过应用程序中许多的不同的路径方式去危害企业业务。每种路径方法都代表了一种风险,这些风险都值得关注。

什么是 OWASP TOP 10

OWASP(开放式Web应用程序安全项目)是一个开放的社区,由非营利组织 OWASP基金会支持的项目。对所有致力于改进应用程序安全的人士开放,旨在提高对应用程序安全性的认识。

其最具权威的就是“10项最严重的Web 应用程序安全风险列表” ,总结并更新Web应用程序中最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识。

最重要的版本

应用程序中最严重的十大风险

A1 注入漏洞

在 2013、2017 的版本中都是第一名,可见此漏洞的引入是多么的容易,同时也证明此漏洞的危害有多么严重。

攻击方式

利用应用程序弱点,通过恶意字符将恶意代码写入数据库,获取敏感数据或进一步在服务器执行命令。

漏洞原因

未审计的数据输入框

使用网址直接传递变量

未过滤的特殊字符

SQL 错误回显

漏洞影响

获取敏感数据或进一步在服务器执行命令接管服务器

SQL 注入

其实注入有很多类型,常见的注入包括:SQL、OS 命令、ORM、LDAP和表达式语言或者 OGNL 注入,对于应用解释器来说这些概念都是相同的。对于最常见的SQL注入,后端开发人员经常会拼接 SQL 查询;在不经意间就引入了 SQL 注入漏洞。

一个例子

select * from users where pwd='输入字符'

-- 恶意代绕过 ' or 1=1 --'
select * from uses where pwd = '' or 1=1 --'

SQL 注入工具

作为最强大的 SQL 注入工具,这里要介绍下基于 python开发的 SQLmap,SQLmap 支持对 PostgreSql,MySQL,Access,MsSql Server 等数据库的自动化注入。是在检查SQL注入漏洞方面最得力的工具。

SQL 注入防护

关闭 SQL 错误回显

前端输入字符白名单验证(长度、类型等)

对输入的特殊字符使用转义处理

SQL 操作使用 PreParedStatement

SQL 服务运行于专门的账号,并且使用最小权限

限制 SQL 服务的远程访问,只开放给特定开发人员

代码审计,最有效的检测应用程序的注入风险的方法之一

使用成熟的 waf

A2 失效的身份认证

攻击方式

攻击者利用网站应用程序中的身份认证缺陷获取高权限并进行攻击应用服务

漏洞原因

应用程序身份认证系统认证缺陷

漏洞影响

盗用账号与身份

常见设计缺陷

修改利用网络协议数据包获取使用者账号密码

网站设计不良,可直接绕过验证页面

使用者忘记注销,而让攻击者有可趁之机

弱密码

弱密码攻击

身份认证非常容易受到弱密码攻击,常用的弱密码攻击方式有

常用密码攻击 - 使用泄露的密码字典攻击

使用公司名称缩写、域名、电话号码

全数字、英文的简单密码

账号与密码相同的

不同网站、电脑、APP 使用了相同的密码

漏洞防护

网站的登录页面就使用加密连接

网站应该具体良好的权限控制与管理

网站应该具备超时注销机制

A3 敏感数据泄露

攻击方式

常见的攻击方式主要是扫描应用程序获取到敏感数据

漏洞原因

应用维护或者开发人员无意间上传敏感数据,如 github 文件泄露

敏感数据文件的权限设置错误,如网站目录下的数据库备份文件泄露

网络协议、算法本身的弱点,如 telent、ftp、md5 等

漏洞影响

应用程序、网站被修改

个人资料、公司资料泄露,被用于售卖获利

漏洞防护

对于 github 泄露,定期对仓库扫描

对于应用网站目录定期扫描

使用强壮的网络协议与算法

A4 XML 外部实体漏洞

攻击方式

当应用程序解析 XML文件时包含了对外部实体的引用,攻击者传递恶意包含 XML 代码的文件,读取指定的服务器资源。

漏洞原因

XML 协议文档本身的设计特性,可以引入外部的资源;定义 XML 文件时使用的外部实体引入功能

漏洞影响

读取服务器敏感资料,如、/etc/password

读取应用程序源码

漏洞防护

关闭 DTD (Data Type Definition)

  • 禁止外部实体引入

A5 无效的访问控制

攻击方式

没有检查身份,直接导致攻击者绕过权限直接访问

漏洞原因

漏洞影响

绕过路径,如未读取的参数做检查,导致路径绕过读取到敏感文件

权限提升,如未对权限做检查,导致攻击者变更权限

  • 垂直越权,攻击者可以从普通的用户权限提升到管理员的权限访问应用程序
  • 水平越权,攻击者可以从普通用户A的权限提升到普通用户B的权限访问应用程序

漏洞防护

对参数的白名单过滤

对权限的控制管理重新设计与限制

限制下载文件的类型

A6 安全配置错误

攻击方式

攻击者利用错误配置攻击,获取敏感数据或者提升权限

漏洞原因

开发或者维护人员设置了错误的配置,如 python 开发中对于 Django 框架在生产环境启用了 Debug 模式

漏洞影响

可让攻击者获取到敏感数据

可让攻击者提升权限,如未修改应用程序配置的默认密码,未删除应用程序安装程序目录文件等

目录遍历

Debug 模式

漏洞防护

应用程序上传权限检查

  • 检查文件扩展名
  • 重命名上传文件
  • 控制上传文件的权限,如关闭执行权限

移除不使用的页面,如安装目录文件

移除临时文件、备份文件

不使用简单的命名规则,防止猜测

定义白名单

A7 跨站脚本攻击

攻击方式

攻击者使用恶意字符嵌入应用程序代码中并运行,盗取应用程序数据

常见攻击 payload

><script>alert(document.cookie)</script>='><script>alert(document.cookie)</script>"><script>alert(document.cookie)</script><script>alert(document.cookie)</script><script>alert (vulnerable)</script>%3Cscript%3Ealert('XSS')%3C/script%3E<script>alert('XSS')</script><img src="javascript:alert('XSS')"><img src="http://888.888.com/999.png" onerror="alert('XSS')"><div style="height:expression(alert('XSS'),1)"></div>(这个仅于IE7(含)之前有效)

漏洞原因

应用程序未对应用输入做过滤与检查,导致用户数据被当作代码执行。

漏洞影响

欺骗使用者点击嵌入了恶意网站的正常网站,获取使用得的敏感数据

盗取使用者 cookie,冒用使用者身份

漏洞防护

验证输入/接收的字符,过滤或者替换非法字符

使用白名单机制

A8 不安全的反序列化漏洞

攻击方式

攻击者利用应用程序反序列化功能,反序列化恶意对象攻击应用程序。

漏洞原因

应用程序在反序列化数据对象时,执行了攻击者传递的恶意数据对象

漏洞影响

最严重情况下,可导致远程代码执行 RCE

注入攻击

越权

漏洞防护

对数据对象签名,并作完整检查

数据对象中的数据做严格的类型检查,限制一部分恶意攻击

隔离反序列化操作环境

A9 使用含有已知漏洞的组件

攻击方式

利用应用程序技术栈中的框架、库、工具等的已知漏洞进行攻击,获取高权限或者敏感数据

漏洞原因

应用程序技术栈中使用的框架、库、工具爆出了漏洞,应用程序未能及时更新与修复

漏洞影响

敏感数据泄露

提升权限

远程代码执行

漏洞防护

及时更新、修复组件漏洞

移除不再使用的依赖组件

A10 日志记录和监控不足导致的风险

漏洞原因

对于日志记录的监控不足,造成攻击者攻击系统、应用、盗取数据等操作无法被发现和追查。

漏洞影响

无法判断安全事件的发生

无法判断和修复漏洞

导致再次被入侵

漏洞防护

启用日志监控、告警机制

启用异地监控,C/S架构的监制机制

尽可能的完整记录所有日志

参考

http://www.owasp.org.cn/owasp-project/2017-owasp-top-10

http://www.owasp.org.cn/owasp-project/2013top10

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容

  • ⭕首先,什么是OWASP Top10? OWASP(Open Web Application Security...
    寒木重华阅读 1,541评论 0 2
  • 一、什么是 XSS XSS全称(Cross Site Scripting)跨站脚本攻击,是最常见的Web应用...
    寒木重华阅读 1,042评论 1 3
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,520评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,562评论 0 11
  • 可爱进取,孤独成精。努力飞翔,天堂翱翔。战争美好,孤独进取。胆大飞翔,成就辉煌。努力进取,遥望,和谐家园。可爱游走...
    赵原野阅读 2,726评论 1 1