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

还原Facebook数据泄漏事件始末,用户信息到底是如何被第三方获取的?

先决条件 登录 Facebook 账户 在单独的窗口中打开 Graph API Explorer 概述 Graph API Explorer 是一款应用程序,能够让你探索 Facebook 的社交图谱。...中读取数据 首先是查询 当你打开 Graph API Explorer 时,它将自动加载最新版本的 Graph API 和默认的 GET 请求,如:GET / me?...从Graph API Explorer中添加内容为Hello的消息字段! 系统的响应将返回 post_id 。 post_id 由你的用户 id ,后面加下划线和整数组成。 检查资源管理器中的更新。...with Graph API!...如果系统响应成功的话,那么所返回的响应将是发布到页面的消息的 page_id 。 点击访问令牌圆圈图标,来查看有关页面访问令牌的信息。

5.3K50

安全研究 | Facebook中基于DOM的XSS漏洞利用分析

存在漏洞的终端节点将接收请求参数中用户可控制的内容,并使用postMessage中的发送消息来构建一个数据对象,该对象将与postMessage一起发送到已打开的窗口。...这样,我们的消息就可以传递到打开的窗口了,因为targetOrigin条件已经满足,并且会将消息发送到our.alpha.facebook.com。...现在,我们已经知道了我们要找的是包含了EventListeners的页面,而它只接收消息源为accept facebook.com的消息。...首先,它会利用postMessage将带有frameName的消息发送到任何源。其次,它将设置一个EventListener并等待接收消息。...,然后重定向到存在漏洞的页面中,并执行alert(1),而我设置的PoC将会窃取用户的访问令牌,这个令牌将直接允许我们接管目标Facebook账号。

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

    可劫持Facebook和Oculus用户账户的XSS漏洞分析

    该Writeup涉及Facebook旗下VR穿戴公司Oculus论坛forums.oculusvr.com,攻击者利用其存在的XSS漏洞可以窃取受害者登录Oculus官网时的访问令牌(Access Token...漏洞最终被Facebook给予了高达$30000的奖励。我们一起来看看作者的发现过程和思路。.../来验证登录用户,之后会把用户跳转到https://forums.oculusvr.com/entry/oculus,跳转后用户携带了一个oculus访问令牌(access_token),且利用该访问令牌...,可以有权限访问graph.oculus.com/graphql,并实现GraphQL查询。...,这里,如果按照我们之前的构造将会返回错误消息“TypeError: Cannot read property ‘id’ of null”,只有当前这个页面是框架化且与其父页面是同源才能正确调用通过。

    1.3K20

    利用graph.facebook.com中的反射型XSS实现Facebook账户劫持

    本文分享的是graph.facebook.com中存在的反射型XSS漏洞,攻击者利用该漏洞可以构造恶意链接引诱受害者访问,添加账户绑定邮箱或手机号,从而实现对受害者Facebook账户的劫持。...漏洞情况 该漏洞只在IE和Edge浏览器中有效,漏洞原因在于graph.facebook.com中的某些API端点,在处理HTML代码响应时未实施完善安全的转义措施。...=100&file_type=PAYLOAD 其中的ACCESS_TOKEN是由Facebook for Android的第一方应用生成的有效用户访问令牌,PAYLOAD则是我们想插入的HTML代码,用于后续引诱受害者在浏览器中执行...,受害者访问之后的响应消息如下: {“h”:”2:::GVo0nVVSEBm2kCDZXKFCdFSlCSZjbugbAAAP...“fb_dtsg” CSRF token,并且可向https://www.facebook.com/api/graphql/发送一个添加手机号或邮箱地址的绑定请求,实现间接的受害者账户劫持。

    1.2K20

    基于虚假招聘的Facebook凭证钓鱼攻击机制与防御策略研究

    早期钓鱼多集中于银行、电商等直接涉及资金交易的领域,而随着社交媒体账户成为数字身份的核心载体,攻击目标已显著转向社交平台凭证。...一旦授权,后台即刻捕获访问令牌(Access Token)并终止会话,用户界面则显示无限加载的进度条,掩盖攻击已完成的事实。...3.4 凭证窃取与后续利用攻击者获取access_token后,可直接调用Facebook Graph API执行以下操作:获取用户基本信息(姓名、邮箱、好友列表);发布伪装状态(扩大钓鱼范围);访问关联应用数据...(如Messenger消息,若权限被授予);尝试横向移动至其他绑定服务(如Instagram、Workplace)。...4.2 平台侧:OAuth上下文感知与令牌绑定Facebook等SSO提供商应增强授权流程的安全性:引入上下文验证:若登录请求源自非常规域名(如非Glassdoor官方域),强制二次确认;实施令牌绑定(

    28810

    Spring Boot 与 OAuth2

    自定义错误:为未经身份验证的用户添加错误消息,并基于Github API添加自定义身份验证。 从一个应用程序迁移到功能阶梯的下一个应用程序所需要的更改可以在源代码中跟踪(源代码在Github中)。...链接不会直接传送到Facebook,而是定位到处理身份验证的本地路径(并将重定向发送到Facebook)。...客户端是可重用的,因此你还可以使用它与你的授权服务器(在本例中是Facebook)提供的OAuth2资源进行交互(在本例中为Graph API)。...这并不一定要留在线上系统中,但它可以让我们快速工作,而无需重新放置Spring OAuth2在用户需要访问令牌时会为他们弹出的白色标签审批页面。...完成后返回到测试客户端,授予本地访问令牌并完成身份验证(你应该在浏览器中看到“Hello”消息)。如果你已经使用Github或Facebook进行了身份验证,你甚至可能不会注意到远程身份验证。

    12.2K120

    如何通俗理解API?

    当你在浏览器中输入www.facebook.com时,一个请求会发送到Facebook的远程服务器。一旦您的浏览器接收到响应,它将解释代码并显示页面。...对于浏览器(也称为客户机),Facebook的服务器是一个API。这意味着每次访问Web上的页面时,都要与某个远程服务器的API进行交互。...示例场景:您的小型企业的网站有一个用于为客户注册预约的表单。您希望让您的客户能够自动创建一个带有该约会详细信息的谷歌日历事件。...API的使用:这个想法是让你的网站的服务器直接与谷歌的服务器对话,请求创建一个事件与给定的细节。然后,您的服务器将接收谷歌的响应,对其进行处理,并将相关信息发送回浏览器,例如发送给用户的确认消息。...由于实际的HTTP传输是在文本中进行的,所以您的浏览器总是会尽其所能来显示响应。例如,您可以直接使用浏览器访问GitHub的API,甚至不需要访问令牌。

    1.4K20

    关于Web验证的几种方法

    它适用于 API 调用以及不需要持久会话的简单身份验证工作流。...由于它们已编码,因此任何人都可以解码和读取消息。但是,只有验证的用户才能生成有效的签名令牌。令牌使用签名来验证,签名用的是一个私钥。...服务器对照存储的代码验证输入的代码,并相应地授予访问权限 TOTP 如何工作: 客户端发送用户名和密码 经过凭据验证后,服务器会使用随机生成的种子生成随机代码,并将种子存储在服务端,然后将代码发送到受信任的系统...这种方法通常与基于会话的身份验证结合使用。 流程 你访问的网站需要登录。你转到登录页面,然后看到一个名为“使用谷歌登录”的按钮。单击该按钮,它将带你到谷歌登录页面。...对于 RESTful API,建议使用基于令牌的身份验证,因为它是无状态的。 如果必须处理高度敏感的数据,则你可能需要将 OTP 添加到身份验证流中。 最后请记住,本文的示例仅仅是简单的演示。

    5.8K30

    使用Java制作Facebook Messenger机器人的7个简单步骤

    创建Facebook应用程序和页面。 为页面生成页面访问令牌(在应用程序的信使设置中)。 将上面创建的令牌粘贴到application.properties文件中。...您现在可以通过转到Facebook页面并单击“发送消息”按钮来开始发送您的机器人消息。...如果你现在懒得开始并只是想玩,你可以尝试jbot-example访问JBot Facebook页面并点击“发送消息”按钮。 基本用法 Bot的主要功能是接收和回复消息。...设置你的机器人 在Facebook,我们可以为网页而不是用户制作信使机器人。要开始使用fb API,我们需要一个页面访问令牌,可以从您的任何fb应用程序设置生成。...发送消息 就像接收一样,要从机器人向用户发送消息,您需要POST拨打Facebook的Send API。

    3.8K20

    Yii2实现QQ互联登录

    ,比 QQ 互联上的申请页面好多了。...OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。...4、第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权,然后这个过程中将临时令牌和第三方网站的返回地址发送给服务商。...5、用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所相应的资源。 6、授权成功后,服务商将用户导向第三方网站的返回地址。...7、第三方网站根据临时令牌从服务商那里获取访问令牌。 8、服务商根据令牌和用户的授权情况授予第三方网站访问令牌。 9、第三方网站使用获取到的访问令牌访问存放在服务商的对应的用户资源。

    1.6K31

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

    此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...关键词:OAuth 同意滥用;假冒微软应用;Entra ID;多因素认证绕过;Graph API;条件访问1 引言多因素认证(MFA)作为现代身份安全的核心防线,已在绝大多数企业环境中广泛部署。...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...3.3 缺乏应用行为基线监控SIEM系统通常未将“新应用首次访问Graph API”与“大量邮件读取”关联分析。即使启用日志,也因数据量庞大而忽略异常。3.4 审计滞后企业极少定期审查已授权应用列表。...同时,在SSO门户嵌入“已授权应用”自助管理页面,鼓励用户定期审查。

    24410

    俄罗斯国家级黑客组织借“设备代码钓鱼”潜入全球政企云邮箱,安全界拉响新型OAuth攻击警报

    发件人自称正在筹备一场关于东欧能源安全的闭门研讨会,希望邀请她参与前期材料审阅,并附上一个“预读文档链接”。...他们只是利用了一种名为“设备代码授权流”(Device Code Flow)的合法OAuth 2.0协议机制,诱导她亲手交出了访问令牌(Access Token)。这并非孤例。...要理解这场危机的严重性,必须先厘清技术本质。传统钓鱼攻击依赖伪造登录页面窃取用户名和密码。但随着MFA(多因素认证)普及,仅凭密码已无法完成登录。于是,攻击者转向更隐蔽的“令牌窃取”路径。...breaktime.sleep(5)拿到Token后,攻击者即可调用Microsoft Graph API,读取邮件、日历、OneDrive文件、Teams消息,甚至发送新邮件冒充受害者——全程无需知道密码...例如,若某账户在短时间内从不同国家调用Graph API,即使Token合法,也应触发二次验证。(4)员工意识培训需升级传统“别点可疑链接”已不够。

    18210

    如何正确集成社交登录

    如今,前端通常调用后端 API ,因此需要一个 API 消息凭据。当开发人员初次接触 OAuth 时,他们通常期望使用从社交 Provider 收到的令牌之一。...然而,访问令牌和刷新令牌通常不是 JWT 。它们被设计用于从社交 Provider (如Facebook帖子)获取用户资源的访问。...因此,如果开发人员尝试使用将访问令牌发送到 API 的标准 OAuth 2.0 行为,可能无法确保请求的安全性。相反,缺乏经验的开发人员可能会尝试通过将 ID 令牌发送到 API 来解决这个问题。...其角色将是向客户端颁发访问令牌,然后可以发送到组织的 API : 整体上,安全解决方案的形状现在走在更好的轨道上。然而,与完整的 OAuth 解决方案相比,存在一些限制。...要集成对新的社交 Provider 的已测试支持,您只需要在授权服务器上进行配置更改。应用程序或 API 中不需要进行代码更改。

    1.3K10

    Facebook Graph API(1)—介绍

    Facebook提供三种low-level HTTP APIS去访问Facebook Graph. 1.Graph API 2.FQL(过期) 3.Legacy REST API(过期) 为什么要学习Graph...API 1.Open Graph可以让广大用户发现你的应用或者业务 2.可以加入更多社交内容,你的朋友可能会对你的内容感兴趣 3.使用Facebook Login统一登录,可以减少投入,并且可以跨不同设备...HTTP请求的路径是: graph.facebook.com Names 可以根据name来获取用户信息。...Login, Authorization and Permissions 登录,授权和权限 使用Graph API访问数据需要先理解的几个专业术语。...Access Token: 访问令牌是在授权过程中一个特殊的字符才能,它表示一组已授予的权限,并且可以用在一个特定的应用程序或者一个特定人上。

    2.7K80

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

    授权完成后,攻击者的服务器立即通过 OAuth 2.0 的 /token 端点兑换访问令牌和刷新令牌(Refresh Token),从而获得对受害者邮箱、日历、文件等资源的长期访问权——全程无需知道密码...更危险的是,一旦获得 Refresh Token,攻击者可长期维持访问,即使用户更改密码也无效——因为 OAuth 令牌独立于密码体系。..."❌ 授权失败:", token_resp.text)break一旦拿到 access_token,攻击者即可调用 Microsoft Graph API 执行任意操作:# 示例:读取受害者最近10封邮件...Proofpoint 发现,部分攻击甚至持续数周未被发现——因为所有操作都通过合法 API 进行,IP 地址来自正常办公区域(攻击者使用代理或已控跳板机),行为模式与日常办公高度相似。...芦笛建议,“例如,在设备代码授权页面强制显示应用名称、开发者信息、请求权限列表,并用红色高亮‘此操作将授予第三方长期访问权限’。”

    31910

    使用AJAX获取Django后端数据

    但是如果我们只想更新页面的一部分,则不必完全重新渲染页面-这时候就要用到AJAX了。 AJAX提供了一种将GET或POST请求发送到Django视图并接收任何返回的数据而无需刷新页面的方法。...第一个.then接收已解析的响应并将其转换为JSON。第二个.then允许我们访问第一个.then返回的数据,并允许我们使用它,然后可以处理这个数据,比如进行更新页面操作。...与GET请求一样,可以使用JsonResponse和带有数据的字典将数据发送回页面。这可以是新的或更新的模型对象,也可以是成功消息。...如果尝试通过直接在浏览器中键入URL来访问此视图,则会收到错误消息。可以向视图中添加其他逻辑(例如重定向),以防止用户尝试在没有AJAX请求的情况下访问视图时看到错误。...总结 通过在Django项目中使用AJAX请求,我们可以更改页面的某些部分而无需重新加载整个页面。提取API使添加此功能相当轻松,同时需要最少的JavaScript。

    10.1K40

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

    研究基于实际捕获的恶意应用注册信息、授权日志与API调用轨迹,系统还原了从社会工程诱骗、OAuth同意页面伪造到数据外传的完整攻击链。...、redirect_uri、scope等参数;用户输入凭证并完成MFA;显示OAuth同意页面:列出所请求的权限(如“读取你的邮件”);用户点击“同意”:Microsoft颁发授权码;第三方应用用授权码换取访问令牌...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com...4.3 刷新令牌生命周期过长在未启用条件访问(Conditional Access)的情况下,刷新令牌有效期可达90天。即使用户更改密码,旧令牌仍有效,导致凭证轮换失效。

    26710

    六种Web身份验证方法比较和Flask示例代码

    由于它们是编码的,因此任何人都可以解码和读取消息。但只有真实用户才能生成有效的签名令牌。令牌使用签名进行身份验证,签名是使用私钥签名的。....- IETF 令牌不需要保存在服务器端。只需使用其签名即可对其进行验证。最近,由于RESTful API和单页应用程序(SPA)的兴起,令牌采用率有所增加。 流程 优点 它是无状态的。...,并相应地授予访问权限 TOTP的工作原理: 客户端发送用户名和密码 凭据验证后,服务器使用随机生成的种子生成随机代码,将种子存储在服务器端,并将代码发送到受信任的系统 用户在受信任的系统上获取代码,然后将其输入回...此方法通常与基于会话的身份验证结合使用。 流程 您访问的网站需要您登录。您导航到登录页面,并看到一个名为“使用Google登录”的按钮。您点击该按钮,它会将您带到Google登录页面。...人们通常倾向于忽略 OAuth 应用程序请求的权限。 在已配置的 OpenID 提供程序上没有帐户的用户将无法访问您的应用程序。

    11K40

    在双因素身份认证领域混迹6年,聊聊我的见解

    ; 企业用户源和认证系统完成同步; 短信网关和认证系统完成对接; 认证流程: 用户输入用户名+静态密码申请访问业务系统; 业务系统通过API接口将请求信息发送到企业用户源做初步校验; 企业用户源校验成功...或API同时将用户名+静态密码发送到企业用户源做静态认证、将用户名+动态密码发送到认证服务器做动态认证; 用户源和分别对认证做反馈; 当且仅当静态密码认证和动态密码认证同时通过时,才能成功访问,否则登失败...用已经激活认证的手机APP扫描页面二维码; 手机APP将授权登录信息发送至外网消息服务器; 外网消息服务器将登录信息转发至认证服务器; 认证服务器允许登录; 成功登录; 接着聊5毛钱的消息推送 说到消息推送登录方式...外网消息服务器与认证系统完成对接; 手机APP已激活认证; 认证流程: 用户输入用户名+静态密码申请访问业务系统; 业务系统通过API接口将请求信息发送到企业用户源做初步校验; 企业用户源校验成功,核验通过...; 用户生物特征已输入认证服务器中并完成用户绑定; 认证流程: 用户输入用户名+静态密码申请访问业务系统; 业务系统通过API接口将请求信息发送到企业用户源做初步校验; 企业用户源校验成功,核验通过;

    2.4K20
    领券