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

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

此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...一旦同意,攻击者即获得授权码,兑换为访问令牌(access token)与长期有效的刷新令牌,从而无需再次触发MFA即可持续访问用户邮箱与文件。...更严重的是,部分应用请求offline_access权限,可无限期刷新令牌,实现长达数月甚至数年的隐蔽驻留。现有研究多聚焦于凭据钓鱼或会话劫持,对OAuth同意滥用这一“授权层”攻击缺乏系统性分析。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...","offline_access"]随后,通过已攻陷账户或伪造发件人地址,向目标用户发送钓鱼邮件,内容如:“您有一份来自ILSMart的RFQ文档待审阅。

24310

IdentityServer(11)- 使用Hybrid Flow并添加API访问控制

在之前的文章,我们探索了API访问控制和身份认证。 现在我们要把这两个部分结合在一起。 OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单一协议和令牌服务进行单一交换。...最后,我们还让客户端访问offline_access作用域 - 这允许为长时间的API访问请求刷新令牌: new Client { ClientId = "mvc", ClientName...添加offline_access和api1作用域,并将ResponseType设置为代码id_token(基本意思是“使用混合流”) .AddOpenIdConnect("oidc", options..."); options.Scope.Add("offline_access"); }); 当你运行MVC客户端时,不会有太大的区别,除了同意界面现在要求你提供额外的API和offline access...使用访问令牌 OpenID Connect中间件会自动为您保存令牌(标识,访问和刷新)。 这就是SaveTokens设置的作用。 技术上,令牌存储在cookie。

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

    从0开始构建一个Oauth2Server服务 AccessToken

    AccessToken 访问令牌是应用程序用来代表用户发出 API 请求的东西。访问令牌代表特定应用程序访问用户数据的特定部分的授权。...访问令牌 成功响应 如果访问令牌请求有效,授权服务器需要生成一个访问令牌(和可选的刷新令牌)并将它们返回给客户端,通常连同一些关于授权的附加属性。...带有访问令牌的响应应包含以下属性: access_token(必需)授权服务器颁发的访问令牌字符串。 token_type(必需)这是令牌的类型,通常只是字符串“Bearer”。...refresh_token(可选)如果访问令牌将过期,那么返回一个刷新令牌很有用,应用程序可以使用它来获取另一个访问令牌。但是,不能为使用隐式授权颁发的令牌颁发刷新令牌。...", "error_uri": "See the full API docs at https://authorization-server.com/docs/access_token" }

    2.1K50

    OAuth 2.0 for Client-side Web Applications

    用户可以通过谷歌认证,并授予所要求的权限。谷歌然后将用户重定向回您的应用程序。重定向包含的访问令牌,您的应用验证,然后使用使API请求。...获得的OAuth 2.0访问令牌 下列步骤显示了与谷歌的OAuth 2.0服务器应用程序交互如何获得用户的同意执行代表用户的API请求。...您的应用程序并不需要在这个阶段,因为它等待来自谷歌的OAuth 2.0服务器指示访问是否被授予响应做任何事情。该响应在下面的步骤进行说明。...您授权的应用程序后,将在其中列出 连接到您的谷歌帐户的应用程序。这款应用程序名为OAuth 2.0用户演示了谷歌API文档。同样,如果您取消访问,并刷新该页面,该应用程序将不再上市。...以下规则适用于从增量授权获得访问令牌: 该令牌可以被用于对应于任何滚入新的组合授权作用域接入资源。 当您使用令牌的联合授权来获得访问令牌,令牌代表联合授权,可以使用任何范围的访问刷新。

    3.2K10

    salesforce 登录态持久化之 refresh token接口

    (用于访问资源的短期令牌)和一个 refresh_token(用于刷新 access_token 的长期令牌)。...这大大提升了用户体验,尤其是在长时间会话或需要频繁调用 Salesforce API 的场景中。...通过 refresh_token,外部系统可以在 access_token 过期后继续保持与 Salesforce 的会话,确保访问权限的持久性。...认证方式response默认不会返回refresh_token,需要在参数scope加上offline_access 5. refresh_token接口可以实现登录态持久化的功能,具体实现为: 当业务接口判断...在调用刷新接口时旧的refresh_token第一次获取了新的refresh_token和access_token,此时如果再次用这个 旧的refresh_token,进行第二次刷新会提示失败的同时,也会导致第一次获取的新的

    71010

    从0开始构建一个Oauth2Server服务 资源服务器

    验证访问令牌 资源服务器将从带有包含访问令牌的 HTTP 标头的应用程序获取请求Authorization。资源服务器需要能够验证access token来决定是否处理请求,找到关联的用户账号等。...另一种选择是使用Token Introspection规范来构建 API 来验证访问令牌。...这是处理跨大量资源服务器验证访问令牌的好方法,因为这意味着您可以将访问令牌的所有逻辑封装在单个服务器中,通过 API 将信息公开给系统的其他部分。...过期令牌 如果您的服务使用短期访问令牌和长期刷新令牌,那么您需要确保在应用程序使用过期令牌发出请求时返回正确的错误响应。...token expired" } 这将向客户表明他们现有的访问令牌已过期,他们应该尝试使用他们的刷新令牌获取一个新的访问令牌。

    1.4K30

    使用OAuth 2.0访问谷歌的API

    首先,获得来自OAuth 2.0用户端凭证谷歌API控制台。那么你的客户端应用程序请求从谷歌授权服务器的访问令牌,提取令牌从响应,并发送令牌到谷歌的API,您要访问。...例如,如果一个访问令牌发布了Google+的API,它不授予访问谷歌联系人API。你可以,但是,发送访问令牌的Google+ API多次进行类似的操作。 4.刷新访问令牌,如果需要的话。...访问令牌寿命有限。如果应用程序需要访问超出了单个访问令牌的使用寿命谷歌的API,它能够获得刷新令牌。刷新令牌可以让你的应用程序,以获得新的访问令牌。...应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。一旦访问令牌过期后,应用程序使用令牌来获得一个新的刷新。 有关详细信息,请参阅使用OAuth 2.0安装的应用程序。...应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。一旦访问令牌过期后,应用程序使用令牌来获得一个新的刷新。 有关详细信息,请参阅使用OAuth 2.0设备。

    6.4K10

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

    OAuth 2.0 规范中没有任何内容要求用户能够撤销访问权限,甚至没有建议如何执行此操作,因此我们将查看几个主要的 API 提供商以获取有关如何完成此操作的灵感。...撤销授权 revoking access 出于多种原因,您可能需要撤销应用程序对用户帐户的访问权限。...jwt令牌 如果你有一个真正无状态的令牌验证机制,并且你的资源服务器在不与另一个系统共享信息的情况下验证令牌,那么唯一的选择就是等待所有未完成的令牌过期,并阻止应用程序生成新令牌通过阻止来自该客户端...当然,这意味着您的资源服务器不再进行纯粹的无状态检查,因此这可能不是适用于所有情况的选项。 您还需要使与访问令牌一起颁发的应用程序的刷新令牌无效。...撤销刷新令牌意味着应用程序下次尝试刷新访问令牌时,将拒绝对新访问令牌的请求。

    62440

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

    关键词:Gmail;凭证填充;OAuth钓鱼;刷新令牌;撞库攻击;身份安全;Passkey1 引言2024年末至2025年初,多家网络安全媒体集中报道了所谓“谷歌大规模数据泄露”事件,引发公众广泛关注。...,通过伪造Google官方安全通知邮件,诱导用户点击链接进入仿冒的OAuth授权页面,诱使其授予恶意应用“邮件读取”“联系人访问”等高权限范围(Scopes),进而获取可长期使用的刷新令牌。...一旦授权完成,攻击者即可通过授权码交换获取访问令牌(Access Token)与刷新令牌(Refresh Token)。...其中,刷新令牌有效期极长(通常无明确过期时间,除非用户显式撤销或长时间未使用),且可用于无限次获取新的访问令牌,即使用户更改了账户密码。...攻击者控制员工邮箱后,可:伪造来自高管或IT部门的邮件,诱导同事点击恶意链接;利用日历邀请功能嵌入钓鱼URL;通过API访问共享云端硬盘(Drive)中的敏感文档;将受害账户作为可信发件人,绕过企业邮件网关的

    38110

    OAuth 2.0 的探险之旅

    •Resource Server 资源服务器, 存放受保护资源的服务器, 接受来自客户端(Client)请求的有效访问令牌(Access Token), 然后返回对应的资源。...•confidential 对于一个普通的web站点来说,虽然用户可以访问到前端页面, 但是数据都来自服务器的后端api服务, 前端只是获取授权码code, 通过 code 换取access_token...)的, 刷新令牌的时效性比访问令牌要长, 当访问令牌过期的时候, 可以直接用刷新令牌去授权服务器获取新的访问令牌, 而无需重新登录。...和访问令牌不同的是, 授权服务器颁发访问令牌是必须的, 而颁发刷新令牌则是可选的, 并且访问令牌还会和资源服务器交互, 而刷新令牌只和授权服务器交互。...(G) 客户端发起获取刷新令牌的请求, 同时要带上当前的刷新令牌。 (H) 授权服务器对客户端进行认证并验证刷新令牌,如果有效,则发出新的访问令牌和一个可选的新的刷新令牌。

    2.1K10

    微软365“设备代码钓鱼”风暴来袭:无需密码,黑客秒控企业邮箱

    更令人不安的是,这种攻击对多因素认证(MFA)几乎免疫——即使你启用了短信或 Authenticator 验证,只要在微软官网输入了那串“设备代码”,攻击者就能绕过所有防线,直接获取访问令牌(Access...授权完成后,攻击者的服务器立即通过 OAuth 2.0 的 /token 端点兑换访问令牌和刷新令牌(Refresh Token),从而获得对受害者邮箱、日历、文件等资源的长期访问权——全程无需知道密码...Proofpoint 发现,部分攻击甚至持续数周未被发现——因为所有操作都通过合法 API 进行,IP 地址来自正常办公区域(攻击者使用代理或已控跳板机),行为模式与日常办公高度相似。...部署条件访问(Conditional Access)策略限制高风险操作(如令牌颁发)仅允许从受信任设备、网络或地理位置发起。...推荐策略:对包含 offline_access(即请求 Refresh Token)的授权请求强制执行 MFA;阻止从未知国家/地区的登录尝试;对非托管设备(如个人手机)限制访问敏感数据。4.

    30310

    OAuth 详解 什么是 OAuth?

    在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。 缺点是这会引起很多开发人员的摩擦。OAuth 对开发人员来说最大的痛点之一是您必须管理刷新令牌。...范围来自 Gmail 的 API。redirect_uri 是授权授予应返回到的客户端应用程序的 URL。这应该与来自客户注册过程(在 DMV 处)的值相匹配。您不希望授权被退回到外国应用程序。...此过程将授权代码授予交换访问令牌和(可选)刷新令牌。客户端使用访问令牌访问受保护的资源。...OAuth 2.0 总结 OAuth 2.0 是一种用于委托访问 API 的授权框架。它涉及请求资源所有者授权/同意的范围的客户端。授权授予交换访问令牌和刷新令牌(取决于流程)。

    7.2K20

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

    攻击者通过伪造合法服务(如Cloudflare验证页或微软账户修复向导),引导用户在浏览器中完成看似无害的操作——复制粘贴一个URL或点击“同意”按钮,实则触发OAuth授权请求,将访问令牌(access...token)或刷新令牌(refresh token)泄露给攻击者控制的应用。...攻击目标不再是静态密码,而是动态的、具有时效性的授权令牌;攻击载体不再是可执行文件,而是合法云服务的API接口。这一变化对企业的安全边界提出了全新挑战。...攻击者随即用该授权码向/token端点交换访问令牌与刷新令牌:POST https://login.microsoftonline.com/common/oauth2/v2.0/tokenContent-Type...email) {const clientId = "malicious-app-id-12345";const scope = "Mail.Read Mail.Send Files.Read.All offline_access

    19110

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

    在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。...您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。 缺点是这会引起很多开发人员的摩擦。OAuth 对开发人员来说最大的痛点之一是您必须管理刷新令牌。...范围来自 Gmail 的 API。redirect_uri 是授权授予应返回到的客户端应用程序的 URL。这应该与来自客户注册过程(在 DMV 处)的值相匹配。您不希望授权被退回到外国应用程序。...此过程将授权代码授予交换访问令牌和(可选)刷新令牌。客户端使用访问令牌访问受保护的资源。...它通常不支持刷新令牌,并且假定资源所有者和公共客户端在同一台设备上。当您有一个只想使用 OAuth 的 API,但您有老派的客户要处理时。

    2.5K40

    假“微软”真陷阱!新型钓鱼攻击绕过MFA,企业邮箱正成黑客“提款机”

    但在此次攻击中,攻击者申请的权限远超正常范围:Mail.Read(读取邮件)、User.ReadWrite(读写用户信息)、offline_access(离线访问)。...一旦用户同意,攻击者便能获取一个“刷新令牌”(refresh token),凭借该令牌长期访问用户邮箱,即使用户已登出或更改密码,黑客仍可持续读取邮件、设置自动转发规则,甚至将恶意链接转发给更多同事,形成...更复杂的是,刷新令牌的生命周期可被策略延长,甚至在用户更改密码后依然有效(除非明确撤销授权)。这意味着,一次点击,可能带来长达数月的持续访问风险。...利用条件访问(Conditional Access)策略过滤高风险应用通过Microsoft Entra ID的条件访问功能,可基于应用风险评分、权限范围等条件,阻止用户对可疑应用进行授权。...随着传统凭据攻击成本上升,攻击者正转向更隐蔽的授权滥用、API滥用等“合法路径”。“安全防护的重心必须从‘保护密码’转向‘管理权限’。”

    26110

    深入理解OAuth 2.0:原理、流程与实践

    访问令牌(Access Token): 访问令牌是授权服务器发放给客户端的一个凭证,表示客户端有权访问资源所有者的资源。访问令牌有一定的有效期,过期后需要使用刷新令牌来获取新的访问令牌。...刷新令牌(Refresh Token): 刷新令牌是授权服务器在发放访问令牌时一同发放的一个凭证,用于在访问令牌过期后获取新的访问令牌。刷新令牌通常有较长的有效期,甚至可以设置为永不过期。...(E)Authorization Server 校验授权码通过后,返回访问令牌Access Token和刷新令牌Refresh Token。 2....刷新令牌的使用和保护 刷新令牌通常有较长的有效期,甚至可以设置为永不过期。因此,如果刷新令牌被攻击者获取,他们就可以持续访问用户的资源。...使用OAuth 2.0进行API授权 OAuth 2.0也常用于API授权。例如,一个应用可以请求访问用户在Google Drive上的文件,或者请求发布微博到用户的Twitter账号。

    35.8K712

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

    你的应用程序唯一应该用它做的就是用它来发出 API 请求。某些服务将使用 JWT 等结构化令牌作为其访问令牌,如自编码访问令牌中所述,但在这种情况下,客户端无需担心解码令牌。...要记住的是,访问令牌对客户端是不透明的,应该只用于发出 API 请求而不是解释它们自己。...虽然先发制人地刷新访问令牌可以节省 HTTP 请求,但您仍然需要处理 API 调用在您预期令牌过期之前报告过期令牌的情况,因为访问令牌可能因许多超出预期寿命的原因而过期。...有关使用刷新令牌获取新访问令牌的更多详细信息,请参见下文。 如果您想了解有关登录用户的更多信息,您应该阅读特定服务的 API 文档以了解他们的建议。...有些人喜欢在当前访问令牌到期前不久获得一个新的访问令牌,以保存 API 调用失败的 HTTP 请求。

    1.4K30

    微服务架构之「 访问安全 」

    (图片来自WillTran在slideshare分享) 通过上图可见,因为在微服务的最前端一般会有一个API网关模块(API Gateway),所有的外部请求访问微服务集群时,都会首先通过这个API Gateway...(图片来自网络) 如图,这是一种采用基于令牌Token的授权方式。...第二步:拿到访问令牌(Access Token)后带着它再去访问API网关(图中API Gateway),API Gateway自己是无法判断这个Access Token是否合法的,所以走第三步。...在上面的例子中的视频网站就是客户端应用。 访问令牌:Access Token,授予对资源服务器的访问权限额度令牌。 刷新令牌:客户端应用用于获取新的 Access Token 的一种令牌。...第二步:应用(纯前端的应用)携带 访问令牌(Access Token) 去访问资源,获取资源。

    1.1K10

    微服务架构之「 访问安全 」

    (图片来自WillTran在slideshare分享) 通过上图可见,因为在微服务的最前端一般会有一个API网关模块(API Gateway),所有的外部请求访问微服务集群时,都会首先通过这个API Gateway...(图片来自网络) 如图,这是一种采用基于令牌Token的授权方式。...第二步:拿到访问令牌(Access Token)后带着它再去访问API网关(图中API Gateway),API Gateway自己是无法判断这个Access Token是否合法的,所以走第三步。...在上面的例子中的视频网站就是客户端应用。 访问令牌:Access Token,授予对资源服务器的访问权限额度令牌。 刷新令牌:客户端应用用于获取新的 Access Token 的一种令牌。...第二步:应用(纯前端的应用)携带 访问令牌(Access Token) 去访问资源,获取资源。

    1.4K20

    如何在微服务架构中实现安全性?

    图 3 API Gateway 对来自客户端的请求进行身份验证,并在其对服务的请求中包含安全令牌。服务使用令牌获取有关主体的信息。...图 4 显示了 API Gateway 如何验证来自 API 客户端的请求。API Gateway 通过向 OAuth 2.0 授权服务器发出请求来验证 API 客户端,该服务器返回访问令牌。...身份验证服务器验证客户端的凭据,并返回访问令牌和刷新令牌。 API Gateway 将访问令牌和刷新令牌返回给客户端,通常是采用 cookie 的形式。...如果访问令牌已经过期或即将过期,API Gateway 将通过发出 OAuth 2.0 刷新授权请求来获取新的访问令牌(www.oauth.com/oauth2-servers/access-tokens.../refresh-access-tokens/),刷新授权请求发送给授权服务器,请求中包含刷新令牌。

    6.1K40
    领券