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

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

Refresh Tokens 当您最初收到访问令牌时,它可能包含刷新令牌以及过期时间,如下例所示。...虽然这是一个非常好的优化,但它不会阻止您仍然需要处理如果访问令牌在预期时间之前过期时 API 调用失败的情况。...访问令牌可能因多种原因而过期,例如用户撤销应用程序,或者如果授权服务器在用户更改密码时使所有令牌过期。 如果您发出 API 请求并且令牌已经过期,您将收到一个表明此情况的响应。...,并且可以选择一个新的刷新令牌,就像您在将授权代码交换为访问令牌时收到的一样。...当刷新令牌在每次使用后发生变化时,如果授权服务器检测到刷新令牌被使用了两次,则意味着它可能已被复制并被Attack者使用,授权服务器可以撤销所有访问令牌和相关的刷新令牌立即使用它。

1.4K30

基于云原生信任机制的钓鱼攻击机理与防御体系研究

然而,其“同意屏幕”(Consent Screen)机制常被攻击者利用。在典型的攻击场景中,攻击者首先在Google Cloud Console中注册一个恶意项目,配置OAuth同意屏幕。...利用刷新令牌,攻击者可以在用户不知情的情况下,长期、静默地调用API,持续发送Google Tasks通知,甚至读取敏感邮件、创建转发规则。...持久性:即使目标用户修改了Google账户密码,只要未手动在“第三方应用访问”设置中撤销该恶意应用的授权,攻击脚本仍能利用刷新令牌继续发送任务通知。...即使邮件来自Google,若其内容包含“紧急验证”、“账户暂停”、“立即点击”等高危社会工程学特征,且与用户日常收到的正常任务通知模式(通常较为简短、具体)不符,系统应提升其风险评分。...当某用户在短时间内收到大量来自同一发件人(即使是Google)的任务通知,或通知内容出现突发性变化时,系统应自动触发警报并暂时隔离相关邮件。

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

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

    攻击者通过伪造合法服务(如Cloudflare验证页或微软账户修复向导),引导用户在浏览器中完成看似无害的操作——复制粘贴一个URL或点击“同意”按钮,实则触发OAuth授权请求,将访问令牌(access...token)或刷新令牌(refresh token)泄露给攻击者控制的应用。...例如,用户在Google搜索“公司邮箱无法登录”,点击一个已被SEO投毒的合法但遭篡改的第三方支持页面。...(二)授权诱导与令牌捕获当用户点击“继续”或“验证”按钮时,浏览器跳转至微软官方登录页。...攻击者随即用该授权码向/token端点交换访问令牌与刷新令牌:POST https://login.microsoftonline.com/common/oauth2/v2.0/tokenContent-Type

    19310

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

    客户端在重定向 URI 中收到授权码,然后使用该授权码与授权服务器进行身份验证,并获取访问令牌。...,确认请求,并同意授权。...刷新令牌(Refresh Token): 刷新令牌用于获取新的访问令牌,通常在访问令牌过期时使用。刷新令牌有更长的生命周期。 生成令牌: 访问令牌可以通过授权码授权、隐式授权等方式生成。...令牌刷新的实现: 使用刷新令牌机制,确保即使访问令牌过期,客户端也能够安全地获取新的令牌。 监控和日志: 实施监控和日志记录来检测潜在的攻击,并及时响应安全事件。...成功案例: Google API: Google使用OAuth 2.0来允许第三方应用程序访问用户的Google服务,例如Gmail、Google Drive等。

    89311

    基于Google云服务滥用的新型钓鱼攻击机制与防御策略研究

    本文的主要贡献在于:首先,从技术底层解构了基于Google云服务滥用的钓鱼攻击链路,明确了攻击者如何利用API、Webhooks及通知服务绕过传统防御;其次,分析了当前企业在使用云协作平台时在IAM(身份与访问管理...当用户收到一封看似来自合法应用的邮件,点击“查看文档”或“确认身份”时,会被重定向到Google官方的OAuth同意屏幕(accounts.google.com)。...令牌生命周期管理空白:一旦授权,刷新令牌通常长期有效,除非用户主动撤销或管理员强制吊销。攻击者可以利用这一机制长期潜伏,即使修改了用户密码,只要令牌未失效,访问权依然存在。...令牌生命周期管理:实施严格的令牌轮换策略。对于敏感应用,缩短刷新令牌的有效期,或在检测到异常活动时强制吊销所有相关令牌。...当收到任务提醒或文档共享通知时,应手动打开浏览器,输入官方网址(如tasks.google.com或drive.google.com)登录查看,而不是直接点击邮件中的快捷链接。

    13410

    使用OAuth 2.0访问谷歌的API

    基本步骤 访问使用OAuth 2.0谷歌的API时,所有的应用程序都遵循一个基本模式。在高层次上,你遵循四个步骤: 1.获取的OAuth从谷歌API控制台2.0凭据。...3.发送令牌的API访问。 后的应用程序获得的访问令牌时,它发送所述令牌的谷歌API在HTTP授权头。...你可以,但是,发送访问令牌的Google+ API多次进行类似的操作。 4.刷新访问令牌,如果需要的话。 访问令牌寿命有限。...谷歌处理用户身份验证,会话选择和用户同意。其结果是一个授权码,其应用可以换取的访问令牌和刷新令牌。 应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。...您的应用程序调用代表服务帐户的谷歌的API,并且不需要经过用户同意。(在非服务帐户的情况,您的应用程序调用的API谷歌代表最终用户的,有时也需要用户的同意。)

    6.4K10

    警惕“授权即沦陷”!Barracuda预警:高级OAuth钓鱼正悄然接管你的企业账号

    只要用户点了“同意”,攻击者就获得了OAuth令牌,从此无需密码、无需验证码,即可长期访问该账户。“这相当于你给一个陌生人发了一张‘永久通行证’,还盖了公章。”...更狡猾的是,攻击者还滥用Google Translate、SendGrid、Google Classroom等可信服务隐藏恶意链接。...,攻击者可长期潜伏,甚至设置邮件转发规则,悄无声息地窃取情报;即使用户更改密码,只要未撤销授权,攻击者仍能通过刷新令牌继续访问。...即使令牌被盗,也无法在陌生设备上使用。5. 定期吊销可疑刷新令牌通过Microsoft Graph API或安全中心,监控异常令牌活动(如非工作时间、非常用地点),并批量撤销高风险会话。...在这场攻防战中,技术防护固然重要,但最关键的防线,仍是那个点击“同意”按钮的人。下次当你看到授权请求时,不妨多问一句:我真的需要给这个应用这么多权限吗?编辑:芦笛(公共互联网反网络钓鱼工作组)

    33310

    伪装成安全会议的“数字陷阱”:俄罗斯黑客如何借OAuth之名窃取全球政要邮箱?

    一旦拿到授权码,攻击者即可向微软的令牌端点(Token Endpoint)发起请求,换取访问令牌(Access Token)和刷新令牌(Refresh Token)。...这意味着,即便用户后续修改密码,攻击者仍可通过刷新令牌长期维持访问权限。...与此同时,攻击者控制的服务器在后台轮询微软API,一旦用户完成授权,即可获取令牌。...时,多数人会本能点击“同意”,尤其当上下文看起来完全合理。...而就在同一时刻,他们的数字身份正被千里之外的黑客悄然操控。这提醒我们:在数字时代,每一次点击“同意”,都是一次信任的交付。而这份信任,必须建立在技术防护、制度约束与个体警觉的三角支撑之上。

    17510

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

    更令人不安的是,即使受害者事后修改了密码、启用了多因素认证(MFA),只要当初那一次“同意”未被撤销,攻击者依然能畅通无阻地访问其 Outlook 邮箱、OneDrive 文件、Teams 聊天记录,甚至通过...&session_state=...用户一旦粘贴提交,攻击者服务器立即捕获此 code,并用其向微软令牌端点(/token)兑换长期有效的刷新令牌(refresh token)和访问令牌(access...除非管理员手动撤销,否则即使用户更改密码、登出所有设备,攻击者仍可通过刷新令牌持续获取新访问令牌。微软文档明确指出:密码重置不会使 OAuth 令牌失效。...而这些操作在日志中看起来只是‘正常 API 调用’,难以触发告警。”2....Workspace 已在其授权页面加入“此应用未经过 Google 验证”的显眼警告,微软也在测试类似功能。

    14810

    Google支付和服务端验证

    项目这个和登录用的项目不是同一个 开启Google Play Android Developer API 设置oauth同意屏幕(就是拉起开发者授权账号登录时的登录页面) 创建web应用的oauth客户端...Android Developer API” image.png setp3 开启同意屏幕 填上必填项 这里填上必填项就行了,这个授权同意屏幕,请求code时拉起来给咋们开发人员开的,填啥都无所谓 ...在firebase中创建了项目,会自动同步到google api后台,不用再去单独创建登录使用的项目 登录使用的api项目和查询支付使用的api项目是两个不同的项目相互不干扰,查询支付的api项目一个google...play账号对应一个项目,这个google play账号中所有的应用,都可以通过这个查询支付的api项目去查询 获取code授权api项目时,要使用google play后台的开发者账号授权 关于RefreshToken...) 授权超过50个刷新令牌,最先的刷新令牌就会失效(这里50个应该够用了,除了测试时,可能会授权多个) 取消了授权 属于具有有效会话控制策略的 Google Cloud Platform 组织 未经允许不得转载

    7.7K30

    OAuth 2.0 for Client-side Web Applications

    重定向包含的访问令牌,您的应用验证,然后使用使API请求。 注:由于得到执行正确的安全隐患,我们强烈建议您与谷歌的OAuth 2.0端点交互时使用OAuth 2.0库。...获得的OAuth 2.0访问令牌 下列步骤显示了与谷歌的OAuth 2.0服务器应用程序交互如何获得用户的同意执行代表用户的API请求。...在这种情况下,在登录时的应用程式可能要求的profile 范围中签执行基本的,再后来要求 https://www.googleapis.com/auth/drive.file在第一次请求保存混合的时间范围...以下规则适用于从增量授权获得访问令牌: 该令牌可以被用于对应于任何滚入新的组合授权作用域接入资源。 当您使用令牌的联合授权来获得访问令牌,令牌代表联合授权,可以使用任何范围的访问刷新。...组合授权包括用户授予即使从不同的客户被要求拨款的API项目的所有范围。

    3.2K10

    OAuth 详解 什么是 OAuth?

    基本身份验证仍然用作服务器端应用程序 API 身份验证的原始形式:用户发送 API 密钥 ID 和密码,而不是在每次请求时向服务器发送用户名和密码。...在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...每次刷新访问令牌时,您都会获得一个新的加密签名令牌。密钥轮换内置于系统中。 OAuth 规范没有定义令牌是什么。它可以是您想要的任何格式。...然后将授权传递给令牌端点。令牌端点处理授权并说“很好,这是您的刷新令牌和访问令牌”。 ? 您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。...OAuth 2.0 总结 OAuth 2.0 是一种用于委托访问 API 的授权框架。它涉及请求资源所有者授权/同意的范围的客户端。授权授予交换访问令牌和刷新令牌(取决于流程)。

    7.2K20

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

    基本身份验证仍然用作服务器端应用程序 API 身份验证的原始形式:用户发送 API 密钥 ID 和密码,而不是在每次请求时向服务器发送用户名和密码。...在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...每次刷新访问令牌时,您都会获得一个新的加密签名令牌。密钥轮换内置于系统中。 OAuth 规范没有定义令牌是什么。它可以是您想要的任何格式。...然后将授权传递给令牌端点。令牌端点处理授权并说“很好,这是您的刷新令牌和访问令牌”。 您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。...它们是必要的,因为客户的能力,我们需要如何获得客户的同意,谁正在同意,这给 OAuth 增加了很多复杂性。 当人们问您是否支持 OAuth 时,您必须澄清他们的要求。

    2.6K40

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

    此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...一旦同意,攻击者即获得授权码,兑换为访问令牌(access token)与长期有效的刷新令牌,从而无需再次触发MFA即可持续访问用户邮箱与文件。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...5 实验验证在测试租户中模拟攻击流程:注册假冒应用,请求Mail.Read + offline_access;使用普通用户账户完成同意;通过脚本每小时读取100封邮件,持续72小时。...结果:对照组:攻击成功,72小时内读取300封邮件,未触发任何告警;实验组:用户尝试同意时被条件访问策略阻止(62%);若管理员误批准,Cloud Apps在2小时内标记高风险(28%);剩余10%在24

    24410

    基于恶意OAuth应用的MFA绕过攻击:微软身份体系中的新型钓鱼威胁研究

    研究基于实际捕获的恶意应用注册信息、授权日志与API调用轨迹,系统还原了从社会工程诱骗、OAuth同意页面伪造到数据外传的完整攻击链。...:列出所请求的权限(如“读取你的邮件”);用户点击“同意”:Microsoft颁发授权码;第三方应用用授权码换取访问令牌(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用...关键点在于:MFA仅在第3步验证用户身份,而第5步的“同意”操作本身无二次验证。一旦用户授权,即使账户启用了MFA,攻击者仍可通过令牌直接访问资源。...4.3 刷新令牌生命周期过长在未启用条件访问(Conditional Access)的情况下,刷新令牌有效期可达90天。即使用户更改密码,旧令牌仍有效,导致凭证轮换失效。...OAuth设计初衷是提升互操作性,但其“一次同意、长期访问”的模型在企业环境中构成重大风险。尤其当用户将“微软登录页面”等同于“安全操作”时,社会工程成功率极高。此外,微软的默认安全策略偏向可用性。

    27010

    授权服务是如何颁发授权码和访问令牌的?

    我扫码同意后,生成授权码code的流程开始,主要包括: 验证权限范围(第二次) 处理授权请求生成授权码code 重定向至第三方软件 ④ 验证权限范围(第二次) 步骤②生成授权页面前授权服务进行的第一次校验...于是,OAuth 2.0中引入刷新令牌,即刷新访问令牌access_token的值。有了刷新令牌,用户在一定期限内无需重新授权,就可继续使用三方软件。...刷新令牌初衷是在访问令牌失效时,为了不让用户频繁手动授权,通过系统重新请求生成一个新的访问令牌。...使用刷新令牌 OAuth 2.0规范中,刷新令牌是一种特殊的授权许可类型,是嵌入在授权码许可类型下的一种特殊许可类型。...在授权服务的代码里,接收到这种授权许可请求时,会先比较grant_type和 refresh_token的值。 这其中的流程主要包括如下两大步骤。

    4.2K20

    网络钓鱼对金融行业安全的威胁机制与防御体系构建

    例如,攻击者在捕获OAuth授权码后,通过合法Token Endpoint兑换访问令牌(Access Token)与刷新令牌。后者有效期可达90天以上,且可在后台持续刷新,形成持久化访问通道。...在金融场景中,此类令牌可被用于:读取客户邮件中的交易确认信息;访问云存储中的财务报表或合同;通过API调用发起资金转账(若权限配置不当);作为跳板横向移动至内部业务系统。...用户主动点击“同意”授权恶意应用属于合法操作,终端代理无法判定其恶意性,导致攻击在授权环节即完成突破。再次,安全意识培训效果边际递减。...4.1 身份治理层:强化授权控制与凭证生命周期管理实施第三方应用管理员审批:在Entra ID或Google Workspace中禁用用户自助同意,所有新应用授权需经安全团队审核,确保应用来源可信、权限合理...定期审计与自动清理:利用Microsoft Graph API或Google Admin SDK定期扫描已授权应用,自动吊销60天未使用的令牌,并标记异常权限组合(如同时请求邮箱与云存储访问)。

    17710

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

    该技术不再试图窃取静态密码,而是通过在用户与真实服务之间插入透明代理,实时转发所有交互流量,在用户完成完整认证(包括输入一次性验证码、推送批准或生物识别)后,立即提取有效的会话Cookie或OAuth刷新令牌...通知抑制:在代理响应中注入脚本,拦截Google的推送通知API调用:// 注入到Google页面的JS(通过onProxyReq修改HTML)window.Notification = {requestPermission...3.2 刷新令牌持久化一旦OAuth授权完成,攻击者即可获得refresh_token,该令牌有效期可达数月甚至永久(取决于应用权限)。...4.2 会话行为监控组织应部署以下检测规则:Impossible Travel:同一账户在短时间内出现在地理距离过远的两个位置(如北京→纽约时);异常会话并行:合法用户活跃期间,出现来自未知设备/...4.3 第三方应用治理定期审计myaccount.google.com/permissions,移除未识别或低信任应用;在Admin Console中配置OAuth同意屏幕策略,限制用户可授权的范围;启用

    27310

    运维锅总详解OAuth 2.0协议

    授权服务器返回访问令牌:授权服务器验证授权码,并返回访问令牌和刷新令牌。 客户端访问资源服务器:客户端使用访问令牌访问资源服务器上的受保护资源。...用户在 Google 授权服务器上进行身份验证并同意授权。 Google 授权服务器将用户重定向回新闻网站,并附带授权码。 新闻网站使用授权码向 Google 请求访问令牌。...用户在 Google 授权服务器上登录并授权: 用户在 Google 授权服务器上登录(如果尚未登录)。 Google 向用户展示请求的权限范围,用户同意授权。...新闻网站请求访问令牌: 新闻网站接收到授权码后,向 Google 授权服务器发送一个请求,包含授权码、客户端 ID、客户端密钥和重定向 URI,请求访问令牌。...用户在 GitHub 授权服务器上进行身份验证并同意授权。 GitHub 授权服务器将用户重定向回项目管理工具网站,并附带授权码。 项目管理工具使用授权码向 GitHub 请求访问令牌。

    94310

    oauth2.0的学习与使用

    (B)用户同意给予客户端授权。 (C)客户端使用上一步获得的授权,向认证服务器申请令牌。 (D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。...那么当授权令牌(access_token)过期要怎么办呢,协议里提出了一个刷新token的流程。 流程介绍 (A)–(D)通过授权流程获取access_token,并调用业务api接口。...(F)当调用业务api接口时响应“Invalid Token Error”时。...refresh_token:表示早前收到的更新令牌,必选项。...说明:建议将access_token和refresh_token的过期时间保存下来,每次调用平台方的业务api前先对access_token和refresh_token进行一下时间判断,如果过期则执行刷新

    1.3K20
    领券