聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

Cequence 公司的专职黑客 Jason Kent 谈论了网络犯罪分子如何攻击应用程序以及如何阻止这类攻击。

应用程序接口 (API) 已成为现代应用程序的粘合剂。躺在床上就可以按下 API,打开厨房灯;通过 API 可以修改家中音响播放的歌曲。无论该应用位于移动设备、娱乐系统或车库门,开发人员正是借助API让应用程序发挥作用。

网络攻击分子主要利用三大漏洞类型来 “掌控” app。不过首先了解下为何 API 的安全性如此重要。API 的运作方式类似于 URL 的运作方式。在网络浏览器中输入 www.exaple[.]com 就能获得 example.com 的响应。搜索最喜欢的歌曲就会在URL地址栏中看到:www.example.com/search?{myfavoritesong}。

动态构建的页面结果用于展示搜索结果。移动银行app 的工作原理也一样,通过API 抓取用户姓名、账号信息和账户余额,并填充在预构建页面相应的字段中。虽然 API 具有与 web 应用程序类似的特征,但前者更容易遭攻击;它们包含了整个交易,包括任何安全检查,而且一般和后端服务直接通信。

不断增多的 API 漏洞:历史总在重演

在20世纪90年代,人们发现如果在搜索框或登录字段中释放一个单引号“ ‘ ”,那么应用程序就会提示数据库错误。如果了解 SQL 数据库语法,就会知道易受攻击的应用程序仅仅是可被完全控制的开放的应用程序。SQL 漏洞在找到后通常都会遭攻击。

它反映出我们在应用安全领域中永远都在面临的问题:输入验证。如功能测试和安全测试不当,则API可成为完美的攻击点。由于API受应用程序信任、让高速且大规模的数据交换成为可能,因此任何使用或开发它的组织机构都在担忧它的安全性。

三大 API 漏洞

作者基于和应用安全市场客户的工作经验以及在 OWASP 社区的长期参与经验,列出了最常见的三大 API 漏洞 exploit类型。

1、受损的对象级别授权 (BOLA, Broken Object Level Authorization):外行堆 BOLA 的定义是“对象访问请求验证不充分”,它可使攻击者通过复用访问令牌执行越权操作。Peloton 安全事件就是最近发生的 BOLA 利用案例之一。攻击者能够查看其它用户的所有数据,包括被标记为私密的任意数据。该事件造成重大影响,影响范围覆盖开发、运营、营销和公关等所有事业群。

2、受损的用户认证 (Broken User Authentication):它的定义是“认证机制中的实现缺陷”,可使攻击者冒充合法用户。常见的两种利用类型是自动僵尸执行的凭据填充和侦察 API 的运作原理。找到具有受损的用户认证缺陷的登录 API 是自动化攻击的完美目标。更复杂的缺陷利用是用于侦察活动,判断API 的运作方式。如果输入用户名和密码组合 a@a.com/_ 且该应用提示“不合法的密码”,则可知道用户名是合法的。攻击者将利用该数据点提升凭据填充或其它攻击类型的成功概率。

3、资产管理不当。该API缺陷是由“环境隔离和管理不充分”造成的,可使攻击者访问保护不力的 API 端点。在近期发生的 John Deere 安全事件中,作为John Deere 合作伙伴程序一部分的开发者 API 能够在无需编校的情况下访问生产数据,从而暴露使用其牵引机 Green Star 系统的客户遭暴露。该缺陷是由两种环境未分离造成的。这种类型中的其它差异还包括在开发API中未监控敏感数据,以及暴露降级后的 API。

问题修复

2021年已经是 API 安全事件之年,而今年还未结束。API 缺陷影响整个企业,而不仅仅是运维团队、安全团队或业务团队。指指点点从来无法修复问题。修复始于协作;开发需要业务团队完全理解 API 应有的运作方式。API 编码有所不同,因此需要刷新安全编码实践。安全需要前置参与,帮助在发布前弥合差异。

第一步可以从 OWASP 开始。它发布了 API 安全 Top 10 并在最近发布了“荒谬十足的 API” 清单,其中包括应用程序中的恶意 API。组织机构可将后一份清单作为培训开发和安全人员避免API错误的教育素材。

不管你正在使用“API优先”方法还是刚刚开启由API协助的数字化转型之旅,了解API漏洞有哪些以及如何应对至关重要。

推荐阅读

API 安全成企业考虑的第一要务

3年后准确率仍达97%:利用谷歌语音转文本 API 绕过reCAPTCHA

无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器

原文链接

https://threatpost.com/top-3-api-vulnerabilities-cyberattackers/169048/

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

最常被利用的三大 API 漏洞:是什么、为什么、如何阻止?相关推荐

  1. Hack The Box - Catch 利用let chat API查询信息,Cachet配置泄露漏洞获取ssh登录密码,apk代码注入漏洞利用获取root权限

    Hack The Box-Catch Hack The Box开始使用流程看这篇 文章目录 Hack The Box-Catch 整体思路 1.Nmap扫描 2.apk文件信息收集 3.lets ch ...

  2. FBI和CISA披露十大常被利用漏洞

    近年来,网络安全逐渐为人们重视,安全形势愈演愈烈,攻防交战持续推进. 今日,网络安全和基础架构安全局(CISA)和联邦调查局(FBI)发布2016年至2019年以来最常被利用的十大安全漏洞.CISA和 ...

  3. python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...

    上篇关于爬虫的文章,我们讲解了如何运用Python的requests及BeautifuiSoup模块来完成静态网页的爬取,总结过程,网页爬虫本质就两步: 1.设置请求参数(url,headers,co ...

  4. 利用该0 day漏洞的攻击活动情况

    谷歌研究人员发现macOS漏洞利用. 谷歌研究人员在macOS系统中发现了一个安全漏洞--CVE-2021-30869.攻击者利用该漏洞可以以kernel权限执行任意代码.8月底,谷歌研究人员发现了该 ...

  5. wordpress rest api 漏洞又来了CVE-2017-5487 上次是修改文章内容这次可是泄露用户数据...

    在2月份的时候, wordpress rest api 曾经爆出过越权漏洞 ,结果是黑客可以修改文章内容.3月3日,REST API又出现了越权漏洞,成功的利用这个漏洞,可以绕过管理员权限泄露用户数据 ...

  6. 【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell

    文件包含漏洞的利用 读取敏感文件 我们可以利用文件包含漏洞读取任意文件,读取文件的时候有利用条件 目标主机文件存在(目标文件的路径.绝对路径.相对路径) 具有文件可读权限 提交参数http://loc ...

  7. python 根据地址求经纬度 谷歌_利用google的API获取世界城市经纬度(python实现)

    google API 需要 --. #-*- coding: utf8 -*- from xml.dom import minidom import urllib2, urllib #这个KEY本来是 ...

  8. 技术图文:如何利用BigOne的API制作自动化交易系统 -- 订单系统

    背景 前面几天,我们一起封装了 BigONE 提供的"身份验证"与"资产账户"部分的 API. 如何利用BigOne的API制作自动化交易系统 – 身份验证 如 ...

  9. 技术图文:如何利用BigOne的API制作自动化交易系统 -- 获取账户资产

    背景 前几天我们介绍了如何使用 BigONE Developer API V2 来获取身份令牌的方法「如何利用BigOne的API制作自动化交易系统 – 身份验证」.一旦获取了身份令牌,我们就可以在网 ...

最新文章

  1. 枚举(Enumerations)
  2. python语言编写一个生成九宫格图片的代码_Python切割图片成九宫格的示例代码
  3. python 日历_python中的日历和时间
  4. 使用RegularExpressionValidator限制多行文本框的字数
  5. ./和bash的区别
  6. 【C/C++】关键字static
  7. html5获取城市,HTML5 geolocation API获得用户当前城市名
  8. 【收藏】机器学习数据集列表:你需要收藏!
  9. Web存储—获取Cookie
  10. 【学习笔记】一:JavaScript简介
  11. Logic Pro for Mac(音频制作软件)V10.6.2中文版 支持M1芯片版mac
  12. kali升级软件_KALI更新软件源地址
  13. Django中Python3安装Crypto使用RSA
  14. css如何放大网页字体大小怎么调整,CSS网页设计时关于字体大小的设计
  15. 验证牛顿公式的局部收敛性,并找到对于牛顿公式不收敛(发散)的函数,比较二分法与牛顿公式的收敛速度
  16. 渗透测试 ( 10 ) --- 扫描 web目录、文件 (dirb、wfuzz、wpscan、nikto)
  17. centos 6.5 mysql 5.5 安装,centos6.5 安装mysql-5.5
  18. vue使用v-print-nb插件实现A4纸张排版打印
  19. css怎么设置图片卷角效果,CSS设计教程:轻松实现卷角效果
  20. 一个月怎么赚到5万块?

热门文章

  1. 怎么用Iometer测试存储性能
  2. FLEX4 在组件中自定义ToolTip样式
  3. UIViewController内存管理
  4. SpringMVC json/xml自动转换
  5. 开发平台怎么选?来看看专业人士怎么说
  6. 留言板小系统程序开发
  7. 触发器创建删除等操作
  8. NHibernate初学者指南(15):使用LINQ to NHibernate提供程序查询数据
  9. Hyper-v下安装网络流量监测图形分析工具 Cacti
  10. 无敌命令 就没有杀不死的进程!