关于 API,我们先来了解一下 API 的基本概念,以下是来自 ChatGPT 的介绍:
API 是“应用程序编程接口”(Application Programming Interface)的缩写,它是一套预定义的函数、协议和工具,用于构建软件和应用程序。API 充当了不同软件间的中间人,使得开发者在创建新的程序或集成不同服务时,能够使用已有的功能而不必从头开始编写代码。
API 可以分为几种类型:
-
本地API:这些API是操作系统或软件库提供的,它们允许应用程序使用系统或库中的功能。
-
Web API:这些API通常通过网络提供服务。它们可以是基于REST、SOAP或GraphQL等技术。
-
硬件API:这些API提供了与硬件设备交互的接口,例如打印机、传感器等。
API 的关键组成部分包括:
-
端点(Endpoints):API 的网络地址,通常是URL,客户端发送请求到这个地址以调用API。
-
方法(Methods):定义了客户端可以对API执行的操作类型,如GET(获取数据)、POST(提交数据)、PUT(更新数据)或DELETE(删除数据)。
-
请求(Requests):客户端向API发送的消息,包含了方法、端点、头信息(Headers)和有时的请求正文(Body)。
-
响应(Responses):API返回给客户端的消息,通常包含一个状态码(如200 OK表示成功)和响应数据。
API 的优点:
-
简化开发:API 让开发者能够快速集成和使用其他应用程序或服务的功能。
-
模块化:API 使得软件设计可以更加模块化,有助于代码的重用和维护。
-
时间节省:通过使用现成的API,开发者可以节省大量开发时间和成本。
-
创新促进:API 使得数据和服务可以被更广泛地使用,促进了新应用程序的创新和发展。
API 的使用需要注意安全性,因为它们可能会暴露敏感数据或成为攻击的入口点。因此,通常需要使用认证和授权机制来保护API,例如使用API密钥、OAuth协议等。此外,API的设计应遵循最佳实践,如限制访问速率、输入验证、输出编码等,以确保它们的安全和有效性。
在了解完 API 的基本概念之后,我们整理下关于 API 的几个关键部分:
1、API 接口地址,也就是 API 的路径,访问 API 接口,如果未做权限控制,那么就可能出现未授权访问漏洞,泄漏敏感信息,比如用户相关的账号、密码、邮箱、手机号、身份证号码等信息
2、API 参数,通过 API 参数可以切换想要查询的信息,比如默认只能看用户 A 的基本信息,通过切换参数的值来查看用户 B 的信息,即使存在权限控制,也有可能会存在越权访问的安全问题
关于 API 接口信息的收集,主要有三种方式:
1、通过爬虫抓取页面或者 js 代码中配置好的接口地址和参数,这种方式对于参数的提取相对比较困难
2、通过 API 管理系统的未授权访问,获取 API 接口,比如之前分享的 《swagger 接口未授权怎么玩儿》
3、通过暴力枚举的方式,发现真实存在的 API 接口,这种方式比较考验用于枚举的接口和参数字典,这也是本文的重点
那么,我们如何通过暴力枚举的方式,发现真实存在的接口呢?
想要完成这个工作,需要准备几个工具:
1、用于接口枚举的字典和工具
2、用户参数枚举的字典和工具
关于这些东西,网络上有非常多开源的项目,本文分享的工具和字典仅用作演示。
首先准备一个用户接口枚举的字典,字典内容如下:
/base/user/all``/userInfo/findByUserId``/user/list``/api/login/info``/vip/member``/sysUser/get``/sys/user/sysusers
接下来,安装部署好用于枚举的工具,wfuzz,项目地址:
https://github.com/xmendez/wfuzz
然后使用下面的命令来进行 fuzz,如图:
从结果上看,主要关注响应码是 200 的,我们看到有一个接口符合我们的条件,接下来组合网站地址进行访问,看看是否存在未授权访问的问题,访问如图:
这不发现了一个未授权接口访问的漏洞,可以提交平台获得赏金啦。
接下来我们来看一个接口枚举+参数枚举的案例,首先准备一个常见的参数名字典,如下:
id``userid``userId``name``email``user
第一步还是枚举接口,如图:
从结果中,我们获得一个存在的接口:
/userInfo/findByUserId
直接访问如图:
状态 200,但是没有数据返回,可能是缺少参数导致的,那么我们尝试暴力枚举一下参数:
从结果中发现,其中一个参数名的响应内容长度与其他的不同,我们尝试组合接口和参数:
/userInfo/findByUserId?userId=1
访问后如图:
发现是有数据返回的,说明参数正确。
针对 API 的安全漏洞,不仅仅是未授权访问和越权这类漏洞,还有可能存在 SQL 注入、文件上传、CSRF、CRLF 等各种漏洞,有了接口和参数,我们就可以测是各种漏洞类型,这种方式虽然比较暴力,且速度慢,但是对于一些没有任何功能的网站来说,不失为一种突破限制的技术。
后续我会将历史上我发现存在漏洞的接口进行统计分享至信安之路的知识星球,供大家直接使用,欢迎大家加入我们一起学习信息安全技术。
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
-
2023届全国高校毕业生预计达到1158万人,就业形势严峻;
-
国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
![](https://i-blog.csdnimg.cn/blog_migrate/be3513797baf3c7db2e651b52250bf65.png)
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
![](https://i-blog.csdnimg.cn/blog_migrate/be3513797baf3c7db2e651b52250bf65.png)
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
![](https://i-blog.csdnimg.cn/blog_migrate/be3513797baf3c7db2e651b52250bf65.png)
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
![](https://i-blog.csdnimg.cn/blog_migrate/be3513797baf3c7db2e651b52250bf65.png)