一,什么是API
API是指应用程序编程接口(ApplicationProgramming)。
接口(interface)是一组定义软件组件如何交互的规范。通过API,不同的软件可以相互通信和交换数据,从而实现不同软件之间的集成和互操作。
API简化了软件开发流程并提高了开发效率,同时提供了访问和使用不同软件系统功能的标准化方式。
API 通常包括一组函数、方法、类或协议,开发人员可以通过编写代码来定义这些函数、方法、类或协议,并使用API 提供的函数来实现特定功能或解决特定问题。
实施过程:
根据硬件架构提供操作系统接口。高级语言(如Java)的库只需要调用操作系统的接口即可。级语言。
API使用场景:
调用系统函数。
前端调用后端。
系统内的交互。
企业对企业的通话。
常见API类型:
SOAP/Web 服务(HTTP+XML)
GraphQL API
RESTful API(HTTP+JSON)(目前应用最广泛)
二,概述
1,目标
网络安全、信息(数据)安全、应用安全。
信息安全三要素:
保密性完整性可靠性
2,威胁建模工具
常见API风险:
1. 欺骗。
攻击者的身份经过伪装,冒充受害者。
未经过身份验证
2. 篡改。
更改您不想更改的数据和信息。
3. 否认。
不承认自己的行为。
没有日志记录或审核功能
4、信息泄露
机密信息将会被泄露。
无权限控制
5. 拒绝服务
阻止普通用户访问它。
无速度或频率限制
6. 超病毒
3,API的威胁
OWASP API 前10 名
区分上面的名词。
三,实战
挑战一:访问其他用户车辆的详细信息;
首先通过burp抓包。
分析原包,验证其调用了API接口。
单击其他用户即可获取响应数据包。
请更换它。
然后您可以检索其他用户的详细信息。
挑战二:访问其他用户的机械报告;
首先,上传并查看您自己的机器报告包。
有跳转链接。
我的猜测是该值可能会传递给GET 并重播。
您可以检查您的机器信息。
当通过GET 传递值时,我们看到存在report_id=. 并可以遍历该值。
您可以通过遍历report_id值来检索其他用户创建的报告。
挑战三:重置其他用户的密码;
使用之前挑战2 中获得的数据(电子邮件)进行重置。
尝试捕获数据包。
我发现是有次数限制的。
更改为V2后,重复上述步骤。
果然,爆炸成功了。
V2肯定是V3的早期版本,所以没有限制爆炸的能力。
接下来,尝试登录。
登陆成功;
挑战四:找到泄露其他用户敏感数据的API接口;
首先,捕获数据包。
让我们尝试获取返回的数据包。
该API接口返回敏感的用户数据。
挑战五:找到泄露视频内部属性的API接口;
捕获数据包。
回放捕获的数据包。
可以遍历ID来获取上传视频的内部属性。
挑战六:使用contack mechanic完成应用层的dos;
首先,抓包这个页面。
发现漏洞点。
失败后是否重新提交:否。
次数:1次;
您可以在此处进行更改以触发DoS 攻击。
挑战七:删除其他用户上传的视频;
在修改后的接口上捕获数据包。
存在于请求包中:DELETE /identity/api/v2/user/videos/30 HTTP/1.1
如果用户改成admin,admin权限还存在吗?
接下来我们将为每个同学划分学习计划!
学习计划
那么,作为初学者,问题又出现了:我应该先学什么,接下来又应该学什么?
既然你诚实地问了,我就告诉你你需要从头开始学习什么。
阶段一:初级网络安全工程师
接下来,安排一个月的基本网络安全计划。完成课程后,基本上可以找到渗透测试、Web渗透、安全服务、安全分析等与网络安全相关的工作。其中,如果学好级保证模块,就可以从事级保证工程师的工作。
总体薪资范围6,000-15,000
1.网络安全理论知识(2天)
了解行业背景和前景,决定发展方向。
学习有关网络安全的法律法规。
网络安全运营理念。
等保制度介绍、等保法规、流程、规范。 (很重要)
2.渗透测试基础知识(1周)
渗透测试流程、分类及标准
信息收集技术:主动/被动信息收集、Nmap工具、Google Hacking
漏洞扫描、漏洞利用、原理、使用、工具(MSF)、IDS绕过、防病毒侦察
主机攻防训练:MS17-010、MS08-067、MS10-046、MS12-20等。
3.操作系统基础知识(1周)
Windows系统常用功能及命令
Kali Linux系统常用功能及命令
操作系统安全(系统入侵调查/系统加固基础设施)
4.计算机网络基础(1周)
计算机网络基础、协议、体系结构
网络通信原理、OSI模型、数据传输流程
常用协议分析(HTTP、TCP/IP、ARP等)
网络攻击技术和网络安全防御技术
Web漏洞原理及防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5.数据库基础操作(2天)
数据库基础
SQL语言基础
加强数据库安全
6. 网络渗透(1周)
HTML、CSS 和JavaScript 简介
OWASP前10名
Web漏洞扫描工具
Web入侵工具:Nmap、BurpSuite、SQLMap、其他(Chopper、Miss Scan等)
所以到现在为止已经过去了大约一个月的时间。你已经成功成为“脚本小子”了。那么,你还想继续探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
薪资水平:15,000 至30,000 日元
7.脚本编程学习(4周)
在网络安全领域。编程能力是“脚本小子”和真正的网络安全工程师之间的关键区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用的工具不能满足实际需求时,往往需要扩展现有工具或者可能需要创建工具或自动化脚本来满足要求。需要特定的编程技能。在分秒必争的CTF比赛中,需要具备一定的编程能力,才能有效地利用自制的脚本工具来实现各种目标。
对于从零开始的学生,我们建议选择一种脚本语言:Python/PHP/Go/Java,并学习对常用库进行编程。
设置您的开发环境并选择您的IDE。 PHP 环境推荐Wamp 和XAMPP,IDE 强烈推荐Sublime。
学习Python编程,包括语法、正则、文件、网络、多线程等常用库。推荐《Python核心编程》,不需要全部看完。
使用Python 创建漏洞利用程序,然后创建一个简单的网络爬虫。
学习PHP 的基本语法并创建一个简单的博客系统。
熟悉MVC 架构并尝试学习PHP 或Python 框架(可选)。
了解引导布局或CSS。
阶段三:顶级网络安全工程师
如果您有兴趣开始网络安全,请点击此处。网络安全的主要优势:我们免费提供完整的入门级和高级共享的282G学习资源包。
学习资料分享
当然是【282G】网络安全工程师学习资料包,只给你方案,不给你学习资料。点击下面的二维码链接即可获取。
以上#API安全相关内容来源仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91714.html