常见的API漏洞,从零基础到精通,收藏这篇就够了!

前言

各位老铁,在这个API满天飞的时代,安全问题也像坐了火箭一样蹭蹭往上涨。今天咱们就来扒一扒那些常见的API漏洞,看完保证你直呼内行!

信息泄露:API界的“裸奔”

当API和它的好基友(支持软件)不小心把敏感信息透露给不该看的人时,就相当于在网络世界“裸奔”!这些信息可能藏在API的响应里,也可能在一些公开场合,比如代码仓库、搜索引擎、社交媒体等等。

啥是敏感数据? 简单说,就是任何能被黑客利用的信息,比如:

1)报错信息:像SQL报错、信息报错这种,简直就是给黑客送人头!

2)详细返回:告诉你“用户名不存在”、“密码错误”、“不存在id字段”? 简直是嫌黑客不够了解你!

怎么揪出“裸奔”的API?

就像福尔摩斯探案一样,多和API端点“互动互动”,分析它的响应。API响应的头部、参数、错误信息都可能泄露重要情报。还有API文档、侦察过程中收集的资源,都是有价值的信息来源。

对象级授权缺陷(水平越权):你竟然偷偷看了我的“小秘密”!

这玩意儿,简称BOLA,是API界的老油条了。当API提供商没能好好管住API用户的“爪子”,让用户能访问不属于自己的资源时,BOLA就出现了。

简单说,就是用户A竟然能偷偷摸摸地请求用户B的资源!

API用一些“暗号”(比如名称、数字)来识别不同的对象。一旦发现了这些“暗号”,就得赶紧测试一下,看看是不是能用别人的身份去访问别人的资源。

 GET /api/resource/1;

如果资源ID是那种让人摸不着头脑的序列,就算有越权,我们也抓瞎。但是,如何判断资源ID是不是可以预测? 有些ID看起来是无序的,但仔细分析,你会发现它们其实暗藏玄机!

用户身份验证缺陷:谁允许你“假冒”我了?

用户身份验证缺陷,就是API身份验证过程中的各种漏洞。通常是API提供商没做好身份验证的保护工作。

API一般会要求用户注册,然后发一个“令牌”(Token),用户拿着令牌才能证明自己有权搞事情。所以,注册流程、令牌的处理、生成令牌的系统,都可能存在漏洞。

举个栗子: 评估令牌生成的过程是不是太弱了,收集一些令牌样本,看看它们是不是长得很像。如果令牌生成不靠随机性,黑客就能自己造令牌,或者直接把别人的令牌抢过来!

哪些功能容易出问题?

1)注册功能:注册的时候是不是太简单了?

2)认证过程:认证流程是不是有猫腻?

3)令牌处理和生成:令牌是不是太容易被破解了?

4)密码重置:想象一下,一个密码重置功能只需要你提供邮箱和一个六位数的验证码。如果API允许无限次请求,黑客只需要试个一百万次,就能重置任何用户的密码!四位数验证码?一万次就搞定!

过度数据暴露:你给我发这么多“果照”干嘛?

过度数据暴露,就是API端点返回的信息比你需要的还多!这就像你只想知道对方的名字,结果对方把姓名、生日、邮箱、电话,甚至他所有亲戚朋友的信息都一股脑地发给你了!

怎么识别?

简单粗暴,测试API端点,看看响应里都有些啥。

资源缺乏和速率限制:服务器扛不住了,卒!

速率限制在API的商业化和可用性方面至关重要。如果不对用户请求的数量进行限制,API提供商的服务器可能会被搞崩溃。当请求太多,服务器不够用时,就会导致拒绝服务攻击。

功能级授权缺陷(垂直越权):小号也能开挂?

功能级授权缺陷,简称BFLA,是一种安全漏洞,它允许一个角色或组的用户访问另一个角色或组的API功能。

简单说,就是小号也能用管理员的功能!

API提供商通常会为不同类型的账户设置不同的角色,比如普通用户、商家、管理员等等。如果一个用户能用另一个权限级别或组的功能,那就可能存在BFLA漏洞。

怎么发现?

最简单的方法就是找到管理员API文档,然后用普通用户的身份发送请求,测试管理功能。

批量分配:偷偷给参数“加戏”!

当API用户的请求中包含了一些不该出现的参数,而且应用程序还傻乎乎地把这些参数用到了代码里,批量分配就出现了。

简单说,就是API里存在一些隐藏的参数,你可以通过添加这些参数来修改对象属性。

{

假设你正在创建一个账户,API文档里有一个额外的参数叫“isAdmin”,你可以把它的值设为true,然后你就是管理员了!

{

怎么找到这些“隐藏”的参数?

查阅API文档,看看有没有和用户账户属性、关键功能、管理操作相关的参数。拦截API请求和响应,也有助于发现值得测试的参数。还可以猜测参数,或者用Fuzzing(模糊测试)来测试API请求。

安全配置错误:开发小哥,你又粗心了!

安全配置错误,就是开发人员在API的安全配置上犯的各种错误。这些错误如果严重到导致敏感信息泄露,甚至整个系统被黑客接管,那就完犊子了!

举个栗子: API的安全配置显示存在未修复的漏洞,黑客就能利用这些漏洞轻松控制API和系统。

安全配置错误包括:

  • 错误配置的标头
  • 错误配置的传输加密
  • 使用默认账户
  • 接受不必要的HTTP方法
  • 缺失输入过滤
  • 详细的错误消息

怎么检测?

用Web应用程序漏洞扫描器(比如Nessus、Qualys、OWASP ZAP、nikto)来检测这些错误。这些扫描器会自动检查Web服务器版本信息、标头、Cookie、传输加密配置和参数,看看是不是缺少了必要的安全措施。当然,你也可以手动检查这些配置。

注入:黑客的代码混进了“队伍”!

注入漏洞发生于请求传输至API基础架构的过程中,API提供商没能对输入进行过滤,导致黑客的代码被当成了正常数据执行。

当此类漏洞存在时,黑客就可以实施注入攻击,比如SQL注入、NoSQL注入、系统命令注入。

不当的资产管理:老古董也来凑热闹?

不当的资产管理可能导致组织暴露一些已经停用或者还在开发中的API。

为啥这很危险?

  • 旧的API版本更容易存在漏洞,因为它们不再接受更新和修复。
  • 开发中的API通常不如生产API安全。

不当的资产管理可能导致数据过度暴露、信息泄露、大规模资源分配、速率限制不当、API注入等问题。

怎么识别?

关注过时的API文档、变更日志和存储库中的版本历史。例如,如果组织没有及时更新API文档,可能出现对已不再支持的API部分的引用。开发中的API通常使用一些特殊的路径,比如/alpha/、/beta/、/test/、/uat/、/demo/。

除了查阅文档,还可以通过猜测、模糊测试或暴力请求等方法发现资产管理方面的漏洞。

业务逻辑漏洞:规则都被你玩坏了!

业务逻辑漏洞,就是应用程序中的设计特性被黑客恶意利用。

举个栗子: 某API有上传功能,但是没有对上传的文件进行验证,黑客只需要对文件进行编码,就可以上传任意文件,包括恶意代码!

怎么发现?

在API文档中寻找业务逻辑漏洞的蛛丝马迹。一些关键语句可能会给你启发,比如:

  • “只能通过功能X执行功能Y”
  • “避免使用端点Y进行X操作”
  • “只有管理员才能执行请求X”

这些表述暗示了API提供商对用户的信任,认为用户不会做一些不该做的事情。但是,作为安全人员,我们就是要挑战这些假设,验证安全控制措施的有效性!

```

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************

猜你喜欢

转载自blog.csdn.net/Libra1313/article/details/147039457
今日推荐