首页
学习
活动
专区
圈层
工具
发布

REST API 的安全认证,从 OAuth 2.0 到 JWT 令牌

来源:blog.biezhi.me/2019/01/rest-security-basics.html Basic 认证 OAuth 2.0 OAuth2 + JSON Web 令牌 新玩意:亚马逊签名方式...我们今天要讲的主要方法(或标准)有: Basic 认证 OAuth 2.0 OAuth 2.0 + JWT 为了让我们的讨论更加具体,假设我们的后端程序有微服务,并且每个用户请求时,必须调用后端的几个服务来返回请求的数据...OAuth 2.0 看起来像: 用户名 + 密码 + 访问令牌 + 过期令牌 工作原理: OAuth 2.0 标准的核心思想是,用户使用用户名和密码登录系统后,客户端(用户访问系统的设备)会收到一对令牌...OAuth 2.0 标准取代了基本的身份验证方法,它具有一定的优势,例如用户每次想要进入系统时不用输入用户名和密码。...OAuth2 + JSON Web 令牌 看起来像: 用户名 + 密码 + JSON数据 + Base64 + 私钥 + 到期日期 工作原理: 当用户第一次使用用户名和密码登录系统时,系统不仅会返回一个访问令牌

3.9K30

从0开始构建一个Oauth2Server服务 发起认证请求

" Host: api.authorization-server.com description=Hello+World 访问令牌不打算被您的应用程序解析或理解。...例如,Google 的 API 使用 OpenID Connect 提供一个 userinfo 端点,该端点可以返回有关给定访问令牌的用户的信息,或者您可以改为从 ID 令牌获取用户信息。...访问令牌可能因多种原因而过期,例如用户撤销应用程序,或者如果授权服务器在用户更改密码时使所有令牌过期。 如果您发出 API 请求并且令牌已经过期,您将收到一个表明此情况的响应。...当刷新令牌在每次使用后发生变化时,如果授权服务器检测到刷新令牌被使用了两次,则意味着它可能已被复制并被Attack者使用,授权服务器可以撤销所有访问令牌和相关的刷新令牌立即使用它。...请记住,用户可以随时撤销申请,因此您的应用程序需要能够处理使用刷新令牌也失败的情况。此时,您将需要再次提示用户进行授权,从头开始新的 OAuth 流程。

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于实时反向代理的Gmail钓鱼攻击机制与防御对策研究

    MFA)后,实时截获并重放会话令牌或OAuth授权码,从而实现对合法账户的完全接管。...文章首先复现攻击链路,详细解析代理转发逻辑与令牌捕获机制;继而剖析攻击者如何利用OAuth授权进行持久化驻留与横向扩散;随后提出多层次防御体系,涵盖终端验证强化、会话行为监控、第三方应用治理及邮件层检测策略...关键词:Gmail钓鱼;实时反向代理;AiTM;OAuth劫持;多因素认证绕过;会话令牌窃取;条件访问1 引言尽管多因素认证(MFA)被广泛视为提升账户安全的关键措施,近年来针对云服务账户的钓鱼攻击已演化出可有效绕过...通知抑制:在代理响应中注入脚本,拦截Google的推送通知API调用:// 注入到Google页面的JS(通过onProxyReq修改HTML)window.Notification = {requestPermission...但在过渡期内,安全团队需保持对会话令牌生命周期的全程可见性,并建立快速撤销机制。唯有如此,方能在攻击者与合法用户之间重新建立不可逾越的信任边界。编辑:芦笛(公共互联网反网络钓鱼工作组)

    22210

    Gmail凭证泄露事件中的撞库与OAuth钓鱼攻击分析

    研究表明,当前威胁主要源于历史外泄凭证的聚合再利用,而非Google核心基础设施被攻破。...[立即验证]点击链接后,用户被重定向至Google官方OAuth授权页面(URL以accounts.google.com开头),但下方显示的应用名称和权限描述由攻击者控制。...即使Google检测到异常活动并强制用户重置密码,OAuth授权关系依然有效,除非用户手动进入“Google账户 > 安全 > 第三方应用管理”中撤销该应用。...4.2 OAuth第三方授权审计用户应定期审查Google账户中的第三方应用授权列表,撤销不必要或可疑项。...5 组织响应策略的优先级划分面对“数据泄露”类事件,组织需冷静区分两类情形:真实后端泄露:如Google数据库被拖库,需立即强制全量密码重置、吊销所有会话与令牌,并启动事件响应流程。

    31010

    基于OAuth滥用的定向钓鱼攻击与防御机制研究

    研究表明,此类攻击成功的关键在于对OAuth 2.0授权码流程与设备码流程的深度滥用,结合社会工程中的“议题提交”“注册确认”等高可信场景,有效绕过用户警惕与传统安全检测。...用户被邀请“完善注册信息”或“提交演讲议题”,并提示“使用Google/Microsoft账号一键登录以简化流程”。...'], tokens['refresh_token'])return tokens获得令牌后,攻击者可调用Google People API、Gmail API等,读取联系人、邮件、日历,甚至发送钓鱼邮件扩大攻击面...以下Python脚本利用Google Admin SDK Directory API列出某用户的所有OAuth客户端授权:from googleapiclient.discovery import builddef...OAuth的设计初衷是提升用户体验,但其“用户同意即授权”的模型在缺乏上下文验证的情况下,极易被社会工程利用。值得注意的是,攻击者对Device Code Flow的使用尤为值得警惕。

    21710

    ConsentFix攻击机制与OAuth授权滥用的防御对策研究

    一、引言近年来,随着企业向云办公平台(如Microsoft 365、Google Workspace)的大规模迁移,身份认证体系逐步从传统的用户名/密码模型转向基于令牌(token)的现代协议,其中OAuth...攻击目标不再是静态密码,而是动态的、具有时效性的授权令牌;攻击载体不再是可执行文件,而是合法云服务的API接口。这一变化对企业的安全边界提出了全新挑战。...用户被诱导相信这是正常验证流程的一部分。(二)授权诱导与令牌捕获当用户点击“继续”或“验证”按钮时,浏览器跳转至微软官方登录页。...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权...本文通过解析其技术链路,揭示了传统安全措施在此类攻击面前的失效原因,并提出了涵盖技术、策略与教育的综合防御方案。需要指出的是,OAuth本身并非缺陷,而是被滥用。

    16210

    PwnAuth——一个可以揭露OAuth滥用的利器

    二、何为OAuth OAuth 2.0被描述为“一种开放的协议,允许从Web、移动和桌面应用程序以简单标准的方法进行安全授权……”它已成为诸如亚马逊,Google,Facebook和微软等主要互联网公司的事实协议...此外,删除攻击者访问权的唯一方法是显式撤销对OAuth应用程序的访问。为了获得OAuth令牌,攻击者需要通过社会工程说服受害者点击“同意链接”并同意该应用程序。...Web应用程序为渗透测试人员提供了一个易于使用的UI,管理恶意OAuth应用程序、存储收集的OAuth令牌以及与API资源进行交互。...虽然任何允许OAuth应用程序的云环境都可以成为目标,但是PwnAuth目前使用一个模块来支持恶意Office 365应用程序,捕获OAuth令牌并使用捕获的令牌与Microsoft Graph API...· 管理员可以采取行动,如果他们认为恶意应用程序被授予访问帐户的权限。 · 统一审计日志记录用户何时同意第三方应用程序;但是,特定范围和应用程序信息未记录在日志中。

    2.4K20

    从0开始构建一个Oauth2Server服务 应用列表及撤销授权

    OAuth 2.0 规范中没有任何内容要求用户能够撤销访问权限,甚至没有建议如何执行此操作,因此我们将查看几个主要的 API 提供商以获取有关如何完成此操作的灵感。...大多数提供商都有一个页面,其中列出了用户已授权其帐户使用的所有应用程序。通常会显示一些关于应用程序的信息,这些信息旨在为用户提供有关此应用程序何时以及为何可以访问的上下文。...谷歌 Google 在https://security.google.com/settings/security/permissions提供了您已在您的帐户上授权的应用程序列表。...该列表显示应用程序图标、名称和应用程序被授予的范围的摘要。单击其中之一可展开该部分以显示更多详细信息。...假设您的资源服务器通过在数据库中查找访问令牌来验证访问令牌,那么下次被撤销的客户端发出请求时,他们的令牌将无法验证。

    59040

    ConsentFix浮出水面:当“同意”成为攻击入口,你的邮箱早已不是你的邮箱

    与传统钓鱼不同,ConsentFix 的目标不再是密码本身,而是现代云身份体系中最关键却最被忽视的一环——OAuth 授权令牌(Access Token)。...信息框:OAuth 2.0 授权码模式简析(供技术读者参考)OAuth 2.0 是现代 Web 应用实现第三方登录与 API 访问的核心协议。...更严峻的是,授权一旦授予,持久有效。除非管理员手动撤销,否则即使用户更改密码、登出所有设备,攻击者仍可通过刷新令牌持续获取新访问令牌。微软文档明确指出:密码重置不会使 OAuth 令牌失效。...一旦检测到登录,立即弹出伪造的“安全扫描”窗口,诱导用户粘贴令牌 URL。该手法与 ConsentFix 异曲同工,均属“授权型钓鱼”。“国内企业对第三方应用授权的管理普遍薄弱。”...理想界面应包含:应用开发者名称与验证状态(是否经过微软认证)权限列表的通俗解释(如“读取您的所有邮件”而非 Mail.Read)风险等级标识(如“此权限可访问公司通讯录”)一键撤销历史授权的入口目前,Google

    10310

    OAuth 2.0 for Client-side Web Applications

    获得的OAuth 2.0访问令牌 下列步骤显示了与谷歌的OAuth 2.0服务器应用程序交互如何获得用户的同意执行代表用户的API请求。...您也可以撤销通过访问应用程序 的权限为您的谷歌帐户页面。该应用程序被列为OAuth 2.0用户演示了谷歌API文档。...以下规则适用于从增量授权获得访问令牌: 该令牌可以被用于对应于任何滚入新的组合授权作用域接入资源。 当您使用令牌的联合授权来获得访问令牌,令牌代表联合授权,可以使用任何范围的访问刷新。...如果要撤销令牌代表联合授权,访问所有的授权的范围代表相关用户的同时撤销。 下面的代码示例说明如何将范围添加到现有的访问令牌。这种方法允许你的应用程序需要管理多个访问令牌避免的。...JS客户端库 OAuth 2.0用户端点 要以编程方式撤销令牌,电话GoogleAuth.disconnect(): GoogleAuth 。断开();

    3.2K10

    API NEWS | 谷歌云中的GhostToken漏洞

    漏洞的根本原因与Google Cloud管理应用程序的生命周期有关,具体地说,与应用程序相关的OAuth2令牌如何被管理有关。...他们用OAuth2令牌进行了测试,发现该令牌仍然可以访问其原始资源。...这将使攻击者几乎不可能检测到恶意应用程序的存在。需要及时提醒管理员定期检查其平台上未使用或意外的访问令牌。小阑建议:及时更新和升级:确保您的Google Cloud平台和应用程序库保持最新版本。...禁用或撤销不再使用的令牌。漏洞管理:定期进行API安全漏洞评估和渗透测试,发现和修复潜在的安全漏洞。确保API的安全性与最新的安全标准和最佳实践保持一致。...确保存在可靠的吊销过程:如果发生泄露,请确保具有可靠的过程,以便能够撤销然后重新颁发受影响的密钥或令牌。虽然身份验证是最重要的API安全漏洞之一,但是通过遵循相对简单的最佳实践更容易缓解。

    1.2K20

    基于OAuth同意滥用的假冒微软应用钓鱼攻击研究

    此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...用户点击链接后,被重定向至真实的Microsoft Entra ID OAuth同意页面,在看似无害的提示下授予Mail.Read、Calendars.Read、User.ReadWrite等权限。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...4.6 Graph API 异常行为监控部署KQL查询,检测异常API调用模式:// 检测单应用大量邮件读取AuditLogs| where OperationName == "Consent to application...小时内被审计脚本自动撤销;0起数据泄露事件。

    22210

    开发中需要知道的相关知识点:什么是 OAuth?

    您通常能够登录到仪表板以查看您已授予访问权限的应用程序并撤销同意。 OAuth 参与者 OAuth 流程中的参与者如下: 资源所有者:拥有资源服务器中的数据。...另一个令牌是刷新令牌。这要长得多;天,月,年。这可用于获取新令牌。要获得刷新令牌,应用程序通常需要经过身份验证的机密客户端。 刷新令牌可以被撤销。...在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...get https://accounts.google.com/o/oauth2/auth?...范围来自 Gmail 的 API。redirect_uri 是授权授予应返回到的客户端应用程序的 URL。这应该与来自客户注册过程(在 DMV 处)的值相匹配。您不希望授权被退回到外国应用程序。

    2.4K40

    OAuth 详解 什么是 OAuth?

    您通常能够登录到仪表板以查看您已授予访问权限的应用程序并撤销同意。 OAuth 参与者 OAuth 流程中的参与者如下: 资源所有者:拥有资源服务器中的数据。...另一个令牌是刷新令牌。这要长得多;天,月,年。这可用于获取新令牌。要获得刷新令牌,应用程序通常需要经过身份验证的机密客户端。 刷新令牌可以被撤销。...在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...get https://accounts.google.com/o/oauth2/auth?...范围来自 Gmail 的 API。redirect_uri 是授权授予应返回到的客户端应用程序的 URL。这应该与来自客户注册过程(在 DMV 处)的值相匹配。您不希望授权被退回到外国应用程序。

    7K20

    8种至关重要OAuth API授权流与能力

    第二版OAuth 2.0,已经成为保障API安全的事实标准。 二、授权流因用例不同而异 OAuth规范接受多种获取和验证令牌的方法,但并不是所有流对所有类型的客户端都是普适的。...唯一的办法是更改密码,然而这将带来更大的副作用,比如,密码修改后,相关应用将无法访问用户的账户。 使用OAuth,用户可以通过撤销令牌的方式随时决定收回确认。在OAuth中,有两种撤销选项。...可以撤销访问令牌,这将被视作是当前会话的结束。如果存在刷新令牌,则该令牌仍然有效。撤销刷新令牌将使刷新令牌无效,并使其附带的任何活动的访问令牌无效。...而一次代理过程中可能获得多次令牌,包括访问令牌和刷新令牌。 ? 事实上可能存在3种撤销场景: 1、如果某一个当前有效的访问令牌被撤销了,比如访问访问令牌1被撤销,则刷新令牌1仍旧有效。...2、如果某一个当前有效的刷新令牌被撤销了,则所有访问和刷新令牌都会撤销,也就是这一次代理都被撤销 3、如果通过某一个刷新令牌X获得了新的访问令牌和新的刷新令牌。

    2.2K10

    凭证窃取主导下的现代网络攻击链演化与防御体系构建

    通过实际代码示例展示OAuth令牌审计、异常会话检测与SOAR联动强制轮换等关键技术实现,为组织构建面向身份面的新一代安全边界提供可落地的技术路径。...此类攻击模式的成功,暴露出当前身份管理体系的多重脆弱性:弱密码策略、缺乏多因素认证(MFA)覆盖、OAuth授权过度宽泛、会话令牌生命周期管理缺失等。...尤其在Microsoft 365、Salesforce、Google Workspace等主流SaaS平台中,一旦主账户凭证失窃,攻击者可在数分钟内完成权限提升、邮箱导出、API调用乃至数据外泄,而平均检测延迟仍超过...统一审计OAuth授权:定期扫描第三方应用权限,自动撤销非必要授权。...授权,自动撤销非白名单应用的高危权限,防止僵尸令牌滥用。

    21710

    Barracuda预警:高级OAuth钓鱼正悄然接管你的企业账号

    一旦用户被导向伪造的微软登录页并输入凭证,系统会跳转到一个“授权请求”页面——看起来和平时一模一样。只要用户点了“同意”,攻击者就获得了OAuth令牌,从此无需密码、无需验证码,即可长期访问该账户。...),再在后台兑换为长期有效的刷新令牌(Refresh Token);EvilProxy:更进一步,利用OAuth中的prompt=none参数,在用户已登录状态下静默触发授权流程,全程无弹窗、无交互,实现...更狡猾的是,攻击者还滥用Google Translate、SendGrid、Google Classroom等可信服务隐藏恶意链接。...,攻击者可长期潜伏,甚至设置邮件转发规则,悄无声息地窃取情报;即使用户更改密码,只要未撤销授权,攻击者仍能通过刷新令牌继续访问。...即使令牌被盗,也无法在陌生设备上使用。5. 定期吊销可疑刷新令牌通过Microsoft Graph API或安全中心,监控异常令牌活动(如非工作时间、非常用地点),并批量撤销高风险会话。

    27610

    开放授权之道:OAuth 2.0的魅力与奥秘

    以下是关于OAuth 2.0安全性的深入研究以及防范令牌泄漏和攻击的最佳实践: 安全问题: 授权码的安全性: 授权码授权方式中,授权码在传输过程中可能被截获。...无效重定向URI的检测: 对于恶意客户端的保护,授权服务器应该能够检测到无效的重定向URI。...安全存储令牌: 客户端应该将令牌存储在安全的地方,例如安全的存储系统或者受到保护的本地存储。 令牌的最小化使用: 仅在必要时使用令牌,避免在URL中传递令牌,以免被泄漏。...云服务集成: 企业可以使用OAuth 2.0来整合各种云服务,例如使用Google Drive API或Microsoft Graph API,以实现对云存储和办公应用的访问。...成功案例: Google API: Google使用OAuth 2.0来允许第三方应用程序访问用户的Google服务,例如Gmail、Google Drive等。

    78311

    使用OAuth 2.0访问谷歌的API

    首先,获得来自OAuth 2.0用户端凭证谷歌API控制台。那么你的客户端应用程序请求从谷歌授权服务器的访问令牌,提取令牌从响应,并发送令牌到谷歌的API,您要访问。...登录后,用户被询问他们是否愿意承认你的应用程序请求的权限。这个过程被称为用户的同意。 如果用户授予许可,谷歌授权服务器发送您的应用程序的访问令牌(或授权代码,你的应用程序可以使用,以获得访问令牌)。...例如,如果一个访问令牌发布了Google+的API,它不授予访问谷歌联系人API。你可以,但是,发送访问令牌的Google+ API多次进行类似的操作。 4.刷新访问令牌,如果需要的话。...令牌过期 您必须编写代码来预测这种可能性,即授予刷新令牌可能不再工作。刷新令牌可能会停止对这些原因的工作: 用户已撤销你的应用程序的访问。 刷新令牌没有被使用六个月。...客户端库 下面的客户端库与流行的框架,这使得实施的OAuth 2.0简单整合。更多的功能将随着时间的推移被添加到库中。

    6.3K10

    VoidProxy平台对多因素认证的绕过机制与防御对策研究

    在此过程中,攻击者不仅捕获用户名与密码,更重要的是截获认证成功后返回的会话Cookie、OAuth 2.0访问令牌及刷新令牌(Refresh Token),从而实现无需凭证重放的持久化账户访问。...条件访问策略依赖静态规则:基于“合规设备”或“可信IP”的策略易被代理IP和虚拟机绕过,缺乏对会话行为的动态风险评估。上述缺陷使得即便组织部署了“强MFA”,在面对AiTM攻击时仍形同虚设。...,并启用基于风险的自动撤销机制。...(三)浏览器内令牌绑定(DPoP)推动SaaS供应商支持OAuth 2.0 DPoP规范。DPoP要求客户端在每次API请求中附带一个由私钥签名的证明令牌,该私钥与TLS连接绑定。...;自动化响应闭环:将威胁情报、UEBA与API控制联动,实现“检测-响应-修复”一体化。

    21310
    领券