API安全

一,什么是API

API指的是应用程序编程接口(Application Programming Interface),是一组定义了软件组件如何相互交互的规范。通过API,不同的软件可以相互通信和交换数据,实现不同软件之间的集成和互操作。

API可以简化软件开发过程,提高开发效率,同时也提供了一种标准化的方式来访问和使用不同软件系统的功能。

API通常包括一系列的函数、方法、类或协议,开发者可以根据API的定义来编写代码,并利用API提供的功能来实现特定的功能或解决特定的问题。

实现的流程:

  1. 根据硬件的架构来提供操作系统的接口;
  2. 而高级语言(如Java)的库会调用操作系统的接口;
  3. 而我们只需要调用高级语言的API即可;

API的使用场景:

调用系统功能;

前端调用后端;

系统内部的相互调用;

企业间相互调用;

常见的API的类型:

  • SOAP/WebService(HTTP+XML)

  • GraphQL API

  • RESTful API(HTTP+JSON)(目前使用最为广泛)

二,概述

1,目标

网络安全,信息(数据)安全,应用安全;

信息安全的三要素:

  • 机密性
  • 完整性
  • 可靠性

2,威胁建模工具

常见的API风险:

1,欺骗;

攻击者的真实身份被伪装,伪装成受害者;

未进行身份验证

2,篡改;

将不希望被修改的数据,信息被修改;

3,抵赖;

不承认自己的行为;

未存在日志,审计的功能

4,信息泄露;

敏感信息被暴露;

未进行权限的控制

5,拒绝服务

妨碍正常的用户去访问;

未进行速率,频率的限制

6,越权

3,API的威胁

OWASP API TOP 10

对于上面的名词进行区分;

三,实战

挑战一:访问其他用户车辆的详细信息;

首先通过burp抓包;

对原始的包进行分析;发现其调用了API接口;

通过点击其他用户;抓到响应包;

将其进行替换;

然后就可以获得其他用户的详细信息;

挑战二:访问其他用户的机械报告;

首先上传并且查看自身的机械报告的包;

存在一个跳转的链接;

猜想可能为GET传值,进行重放;

可以看到自己的机械信息;

发现通过GET传值时存在report_id=...,可以对这个值进行遍历;

通过遍历report_id的值,就可以得到其他用户的就写报告;

挑战三:重置其他用户的密码;

通过前面挑战二得到的数据(邮箱)进行重置;

进行抓包尝试;

发现对次数有限制;

改为V2之后,重复以上的步骤;

正如猜测的一样;爆破成功;

V2应该为V3的以前版本,所以不具备爆破限制的能力;

接下来尝试登录;

登录成功;

挑战四:找到泄露其他用户敏感数据的API接口;

首先进行抓包;

尝试抓取回包;

这个API接口返回了用户敏感数据;

挑战五:找到泄露视频内部属性的API接口;

进行抓包;

对抓到的包进行重放;

可以对id进行遍历,即可获得上传视频的内部属性;

挑战六:使用contack mechanic完成应用层的dos;

首先在这个页面进行抓包;

发现漏洞点所在;

失败之后是否重发:否;

次数:1;

可以在这里进行修改;造成Dos攻击;

挑战七:删除其他用户上传的视频;

在修改界面进行抓包;

在请求包中存在:DELETE /identity/api/v2/user/videos/30 HTTP/1.1

将user改为admin是否可以存在管理员权限;

相关推荐
2501_915373882 小时前
Redis线程安全深度解析:单线程模型的并发智慧
数据库·redis·安全
恰薯条的屑海鸥6 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十五期-URL重定向模块)
学习·安全·web安全·渗透测试·网络安全学习
Tipray20066 小时前
让敏感数据在流转与存储中始终守护在安全范围
安全
前端页面仔7 小时前
易语言是什么?易语言能做什么?
开发语言·安全
Guheyunyi14 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
IT科技那点事儿16 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
人工智能·安全
恰薯条的屑海鸥20 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
20242817李臻20 小时前
20242817李臻-安全文件传输系统-项目验收
数据库·安全
DevSecOps选型指南1 天前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
ABB自动化1 天前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人