应用步调接口(API)安全的入门指南(非常详细)从零底子入门到醒目,看完 ...

打印 上一主题 下一主题

主题 699|帖子 699|积分 2097

如何自学黑客&网络安全

黑客零底子入门学习门路&规划

低级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常紧张)
2、渗出测试底子(一周)
①渗出测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③毛病扫描、毛病利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统底子(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固底子)
4、计算机网络底子(一周)
①计算机网络底子、协媾和架构
②网络通讯原理、OSI模型、数据转发流程
③常见协议剖析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web毛病原理与防御:主动/被动攻击、DDOS攻击、CVE毛病复现
5、数据库底子操作(2天)
①数据库底子
②SQL语言底子
③数据库安全加固
6、Web渗出(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web毛病扫描工具
④Web渗出工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,好比渗出测试、Web 渗出、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给各人准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(低级/中级/高级)
在网络安全领域。是否具备编程本领是“脚本小子”和真正黑客的本质区别。在实际的渗出测试过程中,面临复杂多变的网络情况,当常用工具不能满足实际需求的时间,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、主动化脚本,这个时间就需要具备一定的编程本领。在分秒必争的CTF竞赛中,想要高效地利用自制的脚本工具来实现各种目标,更是需要拥有编程本领.
如果你零底子入门,笔者发起选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发情况和选择IDE,PHP情况保举Wamp和XAMPP, IDE强烈保举Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,保举《Python核心编程》,不要看完;·用Python编写毛病的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零底子的同学来说还比较迢遥,就不展开细说了,附上学习门路。

网络安全工程师企业级学习门路


如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国表里网安册本、文档&工具
当然除了有配套的视频,同时也为各人整理了各种文档和册本资料&工具,并且已经帮各人分好类了。

一些笔者自己买的、其他平台白嫖不到的视频教程。

网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化资料的朋侪,可以点击这里获取
一个人可以走的很快,但一群人才气走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!


  • 新的安全、网络或其他 IT 组件的合规性需求。
API 安全的紧张性

如前所述,API 与 API 安全是相辅相成的。那些安全性较差的 API,往往容易暴露,且受黑客的攻击。而由于 API 主要用于互换信息、毗连服务和传输数据,因此一旦出现数据走漏,就会给企业带来重大的损失。
API 的各种认证方法

在授予用户访问权限之前,我们有必要验证那些查看或编辑 API 资源的用户的真实身份,以防止 API 被不恰当地利用。
1、基于主机的认证
该过程通过验证主机或服务器,以保证只有经过验证的用户,才气访问到摆设在服务器上的资源。我们并不需要任何密钥、或其他方式,来启动该过程。但是,服务器应该有本领通过及时验证登录密钥,以控制 DNS 诱骗、路由诱骗、以及 IP 诱骗等事件。
在流程和实现方式上,基于主机的认证与 RSA 非常相似。默认情况下,我们可以不必设置任何参数。基于主机的用户验证,可以由管理员通过为本地主机创建私钥、或提取用于本地主机的公钥来完成。
2、基本认证
这是最直接的 API 身份确认方案之一。由于客户端发送带有预构建标头的 HTTP 哀求,因此,该方法利用 HTTP 协媾和进程,来哀求和验证用户名和密码等根据。此类检查往往是在浏览器驱动的情况中完成的。
由于可以大概得到绝大多数浏览器和服务器的支持,因此此类身份认证所利用到的根据详细信息,可以明文情势在网络上共享,或仅利用 base64 进行编码。它不但可以大概在各种代理服务器上运行,而且可以大概将访问权限授予那些并未托管在 IIS 服务器上的资源。由于缺少加密的保护,因此它很容易受到重放等方式的攻击。
3、OAuth
作为一种可定制的开放式 API 身份验证技术,OAuth 可以通过验证用户身份和界说授权标准,实现应用与服务器、及存储类 API 的交互。
当有人登录系统时,它会通过哀求令牌的方式,去验证用户身份。为此,个人或哀求的创建者必须将访问资源的哀求,转发到身份验证服务器上。服务器进而会根据验证的效果,对哀求予以继承或拒绝。
相比其他流程,OAuth 更为安全,因此它成为了许多用户的首选。OAuth 的三个关键要素包括 OAuth 提供者(如 Google 和 Facebook)、OAuth 客户端(指承载信息的网站 / 页面)、以及所有者(指提出访问哀求的用户)。
4、OAuth 2.0
作为 OAuth 的更新版本,OAuth 2.0 是一种被广泛利用的 API 访问管理协议。其功能包括通过利用 HTTP 服务,来启动客户端应用,进而限定 API 客户端的访问。GitHub 和 Facebook 都在其关键性 HTTP 服务的身份验证代码中,利用到了该协议,进而免去了用户根据。
OAuth 2.0 的三个关键要素分别是:拥有数据的用户、应用步调和 API 自己。在身份验证的过程中,该方法可以很容易地剖析到利用不同资源的用户数据。它可以根据验证目标,被摆设到基于 Web、移动及桌面的应用步调与设备中。
5、SAML
安全断言标志语言(Security Assertion Markup Language,SAML),是利用单点登录技术进行身份验证的标准化 API 流程。它会根据用户提供的详细信息来进行验证。只有完成验证,用户才会被授予针对各种应用步调或资源的访问权限。目前,SAML 2.0 是被普遍利用的版本。它与 ID 非常类似,可以协助完成对于用户身份的评估。
API 安全意味着什么?

API 安全不仅专注于保护那些直接或间接暴露给用户的 API,还涉及到节省、速率限定等网络安全原则,基于身份的安全分析,以及如下关键性的安全控制概念:


API 协议

API 可以根据不同的需求,以多种情势和样式被利用。而不同的利用方式也决定了 API 实施的安全性。
SOAP
简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的消息传递与通讯协议。该协议可以扩展 HTTP,并为 Web 服务提供数据传输。利用该协议,我们可以轻松地互换包含着所有内容的文件、或长途调用过程。与诸如 CORB、DCOM 和 Java RMI 等其他框架的不同之处在于,SOAP 的整个消息都是被写在 XML 中的,因此它可以大概独立于各种语言。
REST
作为基于 HTTP 协议的 Web 标准架构,REST 针对每个待处理处罚的 HTTP 哀求,可以利用四种动词:GET、POST、PUT 和 DELETE。对于开发人员来说,RESTful 架构是明白 API 功能和行为的最简单工具之一。它不但可以大概使得 API 架构易于维护和扩展,而且方便了内、外部开发人员去访问 API。
gRPC
作为一个开源的高性能框架,gRPC 改进了老式的长途过程调用(Remote Procedure Call,RPC)协议。它利用 HTTP/2 这种二进制帧传输协议,简化了客户端和后端服务之间的通讯和消息传递过程。
完全轻量级的 gRPC,要比 JSON 快 8 倍以上。它可以通过开源技术协议调用缓冲区,并对布局化的消息接纳了一种与平台无关的序列化格式。在 API 的利用中,开发人员可以通过 gRPC,找出应该调用和评估参数值的各个过程。
Webhook
Webhook 可以大概将主动生成的消息,从一个应用步调发送到另一个应用步调。换句话说,它可以在两个应用之间及时建立、发送、提取更新的通讯。
由于 Webhooks 可以包含关键信息,并将其传输到第三方服务器,因此我们可以通过在 Webhooks 中实行基本的 HTTP 身份验证、或是 TLS 身份验证,来保证 API 的相关安全实践。
WebSocket
WebSocket 是一种双向通讯协议,可以在客户端和服务器之间提供成熟的双向通讯通道,进而补充了 HTTP 协议的局限性。
应用客户端可以利用 WebSocket 来创建 HTTP 毗连哀求,并发送给服务器。当初始化通讯毗连被建立之后,客户端和服务器都可以利用当前的 TCP/IP 毗连,根据基本的消息框架协议,传输数据与信息。
XML-RPC
XML-RPC 可以通过标准化的通讯过程,实现 WordPress 和其他系统之间的相互通讯。它利用 HTTP 作为传输的手段,利用 XML 作为编码过程。其工作代码被存储在位于网站根目录的 xmlrpc.php 文件中。作为 WordPress 3.5 版的默认选项,XML-RPC 可以大概让移动应用与基于 Web 的 WordPress 安装过程,实现无缝的交互。
不外,对于每个访问哀求而言,由于 xmlrpc.php 可以大概共享身份验证的详细信息,因此它增长了暴力攻击和 DDoS 攻击的几率。对此,我们在接纳 XML-RPC 的 API 时,需要增长相关安全实践。
JSON-RPC
对于新手而言,JSON-RPC 是一种超轻型的 RPC 协议,可用来开发基于以太坊区块链的 API。它接纳 JSON(RFC4627)作为基本的数据格式,具有解释和处理处罚多个数据布局与规则的本领。该协议可以通过相同的套接字被反复利用。
MQTT
MQTT 是 OASIS 认可的消息协议,已被广泛地用在物联网设备和工具开发领域,实现了 HTTP 类型的信息互换。由于非常轻巧,因此它可以让开发人员可以大概一次性扩展到数百万台设备上。在 API 安全性方面,MQTT 不但可以大概协助实现消息加密,而且可以轻松地应用 TLS 和身份验证。
AMQP
作为一个开放的协议,高级消息队列协议(Advanced Message Queuing Protocol,AMQP)规定了消息提供者的行为过程,可以被应用到应用层上,创建互操作式的系统。由于是接纳二进制实现的,因此该协议不但支持各种面向消息的中间件通讯,而且可以确保消息的全面妥投。
XMPP
作为一整套免费的源技术,XMPP 可用于开发多方协作、即时消息、多方谈天、视频通话、以及轻量级中间件等领域。它的四个关键性组件包括:PHP、MySQL、Apache 和 Perl。
CoAP
作为一种由 RFC 7252 界说的 IETF 标准,CoAP 可以被当作标准化的 API 安全协议,来约束物联网设备上的应用。由于 CoAP 可以支持通过 LPWAN 进行通讯,因此它是保护简单微控制器节点的最佳选择。CoAP 工作在 TCP/IP 层,并接纳 UDP 作为基本的传输协议。
云、本地和混合摆设中的 API 安全

云服务、集成平台和 API 网关等技术领域的发展,使得 API 提供商们可以大概以多种方式来保护 API。可以说,针对构建 API 所选择的技术栈类型,会对保护 API 产生直接的影响。例如,一个大型组织可能会利用多个带有自研 API 的应用步调。而在他们合并各种应用的过程中,可能会造成各种 API 孤岛的出现。这些孤岛往往就是安全隐患的地点。

在异构生态系统中,跨 API 孤岛的特定 API 安全底子架构,可以被配置为 sidecar、sideband 代理,嵌入到云端与本地的摆设之间。由于具有高度可移植性,因此此类安全配置可以方便任何面向未来的技术,轻松地传输或提取 API。
API 安全层

API 安全层应该是多条理的布局。各个层面各司其职,最大程度地提供安全保护。
API 发现

API 安全的第一层是 API 发现,毕竟如果不知道目标与威胁,何谈如何实施保护。如前所述,API 孤岛是阻碍安全人员发现 API 的首要问题。由于缺少 API 的可见性,它将直接妨碍 API 访问权限的管理。

影子 API 是 API 可见性的第二大停滞。当 API 作为应用的一部分被开发时,往往只有开发小构成员对其了如指掌,而安全人员对此类“影子 API”的实施细节不得而知。
第三大停滞便是 API 版本控制。在软件应用的生命周期中,其 API 通常需要不停地进行迭代。可是新版本的 API 往往不能立即且全面地更换掉旧的版本。由于用户端的应用版本不尽相同,因此旧版本的 API 需要根据向后兼容的需求,继续运行一段时间。然后呢?它们会逐渐离开开发团队的视野,乃至被忘记。这统统都是悄然发生的。
因此,API 发现实际上是 API 提供者和攻击之间的竞赛。如果提供者可以大概在攻击者之前发现上述类型的 API,那么他们便可以从 API 网关、负载平衡器、以及直接内联的网络流量中提取 API 的流量元数据,并通过专门的引擎,生产有用的 API 列表报告,以便与 API 管理层上的可用 API 目录进行比较。
API 安全的 OWASP 十大安全威胁


API1:2019 对象级别授权的缺陷
通常,API 端点通过发现处理处罚对象的标识符,来获取访问控制层面的攻击。我们需要针对由客户端提供的信息,进行逐条检查。
API2:2019 用户认证的缺陷
攻击者往往会利用获取到的令牌、或验证系统的实行缺陷,来冒充合法用户,并实行非法操作。
API3:2019 过度的数据暴露
攻击者可以通过 API 的调用,合法获取的数据,推断出某些条目标相关属性,进而筛选出各种实用的信息。
API4:2019 资源不敷和限流
通常,API 不会对被调用的数据进行流量或数量上的限定。而这就给攻击者留下了发起拒绝服务(DoS)等抢占资源类攻击的机会。
API5:2019 功能级授权的缺陷
有些 API 在复杂的访问控制策略上并不完备,乃至带有授权上的缺陷。这会导致攻击者可以通过函数调用,获得其他用户可以大概调用的资源。
API6:2019 批量分配
为了进步效率,以 JSON 方式为用户提供信息的模型,往往会提供批量分配(Mass Assignment),而无需根据详细的允许名单,进行合法的属性筛选。据此,攻击者可以通过细致阅读配套文档,来推测出对象的属性、查找到不同的 API 端点、或在哀求负载中发掘额外的属性,进而对它们进行窜改。
API7:2019 安全配置的错误
安全配置的错误往往源于不完备的默认设计、随意的编排、开放的分布式存储、HTTP 标头的错配、宽松的跨域资产共享(Cross-Origin asset sharing,CORS)、以及包含着敏感数据的冗长错误消息提示等方面。
API8:2019 注入
攻击者的有害信息可能会骗过输入检查,在未经得当检验的情况下,利用 SQL 或 NoSQL 的缺陷,实行恶意命令或获取信息。
API9:2019 资产管理不当
API 通常可以大概发现比常规 Web 应用更多的端点,这使得得当地更新配套文档就显得格外紧张了。对此,我们应当持续完善 API 的相关表格,及时发现那些未被记入的端点。
API10:2019 日记和监控不敷
缺乏日记记载和检查,加上事件相应本领不敷,都会给 API 调用带来被攻击的威胁。
渗出测试

开发人员可以思量利用 Postman 代理的预构建的 API 测试数据,直接与 API 进行通讯。通过快速且反复地开展针对 API 的渗出测试,我们可以在降低测试成本的底子上,获取详细的报告。
由于渗出测试需要对目标 API、乃至整个系统都非常熟练,因此我们最好聘请熟练的安全团队、或利用开源的工具,去模拟针对 API 的攻击。通过定期且持续的渗出测试,开发人员将可以大概及时找到符合 API 保护级别的补救步伐。
12 项 API 安全的优秀实践

由上述讨论可知,API 的安全性对于以数据为中心的应用开发来说,是至关紧张的。下面让我们来讨论针对 API 的不同类型与阶段的安全优秀实践。
1、利用加密
为了防范破解类的攻击,我们需要对那些被用在内、外部通讯的 API,利用 TLS 加密协议,并摆设端到端的加密。
2、API 认证
如前文所述,身份验证可以确保 API 不会被陌生人所直接利用。同时,通过 API 密钥或访问认证,我们可以踪调 API 资源的调用。当然,此类安全步伐也会增长系统的实施难度。
3、充分利用 OAuth 和 OpenID Connect
OAuth 和 OpenID Connect 的联合可以大概为 API 的身份验证和 / 或授权,负担全部的责任。例如,在授权过程中,API 的消费者和提供者均不直接进行授权操作,而是让 OAuth 作为委托协议,为 API 添加一个基本的保护层,并在此底子上让 OpenID Connect 标准作为额外的身份层,利用 ID 令牌去扩展 OAuth2.0。
4、安全专家
面临多种 API 安全实践,您也许会犯“选择困难症”。此时,经验丰富的安全专家可以引导您利用合适的防病毒系统、以及 ICAP(Internet Content Adaptation Protocol)服务器,来构建稳固的 API 安全态势。
5、持续监控、审计和日记记载
常言道,防备胜过补充。我们可以在 API 设计之初,就设置好待监控与记载的指标;而在应用服务的利用过程中,通过得当的仪表板去跟踪 API 的交互,并及时查察相关记载与错误信息。同时,在后续的调试与版本更新环节,请不要忘记让所有的 API 都得以同步。
6、仅共享有限的信息
记住,您通过 API 共享出去的信息越少,API 自身的安全性风险就越小。同时,您也应当确保在错误消息中,披露的信息尽可能地少。
此外,利用 IP 地址的白名单与黑名单,是限定 API 资源访问的好方法。它可以保证只有已授权人员或应用,才气有限地访问 API 资源,并保持接口上关键信息的隐藏性。
7、限流和配额保护
请根据后端系统、实际带宽、以及服务器的运能,合理地限定有限数量的消息,去访问某些 API,进而可以大概有用地防范 DDoS 攻击的威胁。
8、有用的数据
服务器应当对继承到的所有内容,进行两次检查与验证。任何新增的内容、庞大的数据集、以及由消费端共享来的信息,都应当经过验证。目前,JSON 和 XML 验证是两种被用于检查参数安全性的最广泛工具。同时,它们也可以控制 SQL 注入、以及 XML 炸弹等事件。
9、强盛的底子办法
通过实施最新的安全网络技术、新型服务器与负载平衡软件,我们可以在底子办法的层面上保持 API 的安全性,使之可以大概抵御大数据量的走漏攻击。
10、关注 OWASP Top10
通过上文分析,您不难看出,OWASP 摆列和诠释出的十大 API 毛病威胁,是一些最常见的攻击影响方式。它们不但对于 Web 页面,对于 API 的各种毛病也具有极强的危害性。因此,我们需要事先做好代码级的防范工作。
11、利用 API 防火墙
为 API 构建防火墙可以起到两方面的利益:


  • 可用于实行基本的安全检查,例如:检查消息的大小、被 SQL 注入的可能性、以及是否可以立即阻断攻击。
  • 可在局域网内部融入现有的防护体系,协同进步整体安全态势。
12、摆设 API 网关
无论是供内网利用,还是供外网调用,API 所处的情况往往既复杂又危险。因此,为了减轻管理 API 的压力,我们可以通过摆设 API 网关,对 API 的相关流量进行全面的控制、监控和保护。 题外话

初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业到处碰鼻。下面我们来看两组数据:


  • 2023届天下高校毕业生预计达到1158万人,就业形势严肃;
  • 国家网络安全宣传周公布的数据表现,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严肃,一方面是网络安全人才百万缺口。
还有兄弟不知道网络安全口试可以提前刷题吗?费时一周整理的160+网络安全口试题,金九银十,做网络安全口试里的显眼包!
王岚嵚工程师口试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋侪来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全口试题



内容实在太多,不逐一截图了
黑客学习资源保举

最后给各人分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点资助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长门路图。可以说是最科学最系统的学习门路,各人跟着这个大的方向学习准没问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦应逍遥

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表