一,什么是API
API指的是应用步伐编程接口(Application Programming Interface),是一组定义了软件组件怎样相互交互的规范。通过API,不同的软件可以相互通信和互换数据,实现不同软件之间的集成和互操作。
API可以简化软件开发过程,提高开发服从,同时也提供了一种尺度化的方式来访问和使用不同软件系统的功能。
API通常包括一系列的函数、方法、类或协议,开发者可以根据API的定义来编写代码,并利用API提供的功能来实现特定的功能或解决特定的题目。
实现的流程:
- 根据硬件的架构来提供操作系统的接口;
- 而高级语言(如Java)的库会调用操作系统的接口;
- 而我们只须要调用高级语言的API即可;
API的使用场景:
调用系统功能;
前端调用后端;
系统内部的相互调用;
企业间相互调用;
常见的API的类型:
- SOAP/WebService(HTTP+XML)
- 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是否可以存在管理员权限;
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |