首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

还原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!...将你的请求设置为:GET / me / accounts 返回的响应将包含有关页面类别,页面名称,页面 id 以及你在该页面上拥有的权限信息等。 我们来计算帐户上的所有对象的数量。

4K50

Facebook第三方登录流程总结

用户点击Facebook登录按钮,客户端(App、Browser等)向Facebook发起请求,用户在Facebook的页面输入登录信息(用户名、密码……),登录成功后Facebook回调客户端并带回用户的...这里以网页版的授权为例,如果开发网页版的Facebook授权登录,需要在Facebook后台配置有效OAuth跳转URI,就是用户在Facebook登录页面登录成功之后需要回调到部署你自己的登录页面的服务器地址...下面是登录过程的截图 ?            登录成功之后可以看到控制台打印出了登录成功后Facebook返回的信息,有accessToken、userID等: ?...access_token=746492673568696%7C71cf85a8ba36c84b22bc3461e143e16b&input_token=前端用户登录返回的accessToken,返回结果的格式如下...如果还需要获取其他用户信息,可以参考Facebook提供的api https://developers.facebook.com/docs/graph-api/using-graph-api

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

    GraphQL 到底有什么魔力?

    太多的 rest api 请求, 这就是问题所在。...facebook 的工程师就开始思考如何才能解决这个问题, 在经过大量的技术讨论之后, 他们想出了一个好方法, 和 rest api 对应的是一个个 endpoint, 能不能整合这些 endpoint...GraphQL 全称是 Graph Query Language,是一种查询语言, 像SQL, LINQ 都是常见的查询语言, 灵活且强大的查询功能是它的主要特点, 对于处理复杂的页面展示, 功能频繁变更...查询能力 向后端 API 发送 GraphQL 查询,它会准确的返回所需要的内容, 不多也不少!...总结 GraphQL 起初是为移动应用构建的, 和 rest api 不一样的是, 它有出色的数据聚合能力和查询能力, 在处理复杂的页面以及需求快速迭代的场景时, 不过是探囊取物。

    54230

    RESTful API设计--指南

    使用正确的 HTTP 方法 RESTful API 有各种方法来指示我们将使用此 API 执行的操作类型。 GET — 获取资源,请求指定的页面信息,并返回实体主体。...我们需要确保在给定的操作中使用正确的 HTTP 方法。 使用复数 这个话题有点争议。有些人喜欢保留带有复数名称的资源 URL,而另一些人喜欢保留单数。...版本控制 Api 的版本控制非常重要。许多不同的公司以不同的方式使用版本。有些使用版本作为日期,有些使用版本作为查询参数。我通常喜欢在资源前面加上它。...使用分页 当您公开可能返回大量数据的 API 时,必须使用分页,如果没有进行适当的负载平衡,消费者可能最终会关闭服务。我们需要始终记住,API 设计应该是完整的证明和傻瓜证明。...例如,如果您使用 Facebook graph APIs,如果出现错误,它会返回如下消息: { "error": { "message": "(#803) Some of the aliases

    1.8K50

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

    本文分享的是graph.facebook.com中存在的反射型XSS漏洞,攻击者利用该漏洞可以构造恶意链接引诱受害者访问,添加账户绑定邮箱或手机号,从而实现对受害者Facebook账户的劫持。...漏洞情况 该漏洞只在IE和Edge浏览器中有效,漏洞原因在于graph.facebook.com中的某些API端点,在处理HTML代码响应时未实施完善安全的转义措施。...当提交请求后,远程服务端会返回一个类似如下的值,其中包含一个后续会用到的会话ID(具体请参考Facebook官方说明): { "id": "upload:MTphdHRhY2htZW50Ojlk2mJiZxUwLWV6MDUtNDIwMy05yTA3LWQ4ZDPmZGFkNTM0NT8...body> 2、这里的上传请求被Facebook后端做了Base64编码处理,返回显示如下...“fb_dtsg” CSRF token,并且可向https://www.facebook.com/api/graphql/发送一个添加手机号或邮箱地址的绑定请求,实现间接的受害者账户劫持。

    90720

    Facebook数据被滥用?8个视频案例教你用好Facebook Graph API

    大数据文摘作品 编译:Aileen 过去的一个周末,社交网络Facebook因为用户数据被第三方API滥用帮助美国大选的事情上了热搜。...也有人提出犯法的是第三方API, 原罪不在Facebook。 先把这件事情放一边,可以确定的是Facebook拥有大量可供人们浏览的数据,人们可以使用此数据做很多事情。...今天我们来了解一下如何使用Facebook Graph API用Python进行数据抓取和分析。...这些视频将向你展示如何做基本的分析,例如: 从Facebook下载数据 从json转换为更方便的数据结构 处理Graph API中的日期变量和其他数据 第1课:介绍和了解Graph API 在本视频中,...我将向您介绍GRAPH API,我将使用GRAPH API Explorer并向您展示一些示例请求。

    1.3K20

    利用本地HTTPS模拟环境为FastAPI框架集成FaceBook社交三方登录

    首先在https://developers.facebook.com/上面注册开发者账号,并且创建一个应用:     输入一个应用名称     创建成功之后,需要加应用id(appid)和应用秘钥记录下来...协议,之后点击按钮,用你的FaceBook账号登录:     如果登录成功,FaceBook会将回调的用户id以及accesstoken返回给当前页面,前端只要进行获取就可以了:     一般情况下...("https://graph.facebook.com/debug_token?...User-token为用户登录的token(就是上面用户登录返回的accessToken),App-token是由appId和appSecret拼接而成,格式为 {appId}%7C{appSecret.../docs/graph-api/reference/user/     结语:FaceBook三方登录的流程并不复杂,本篇主要是结合Go lang的mkcert库来生成自签证书以及FastAPI作为后端服务来实现本地模拟登录

    89810

    2010 年的那场 F8 大会,是 Facebook 数据泄露的根源

    —— Boz(@boztank)2018年3月17日 想要理解这一切,还需要从Graph API说起。...FACEBOOK与谷歌以及GRAPH API Facebook于2010年推出了所谓的“Open Graph” ;首席执行官马克·扎克伯格(Mark Zuckerberg)率领 Facebook 召开了...第一个是我们共同构建的Open Graph。如今,web主要作为页面之间的一系列非结构化链接存在,这是一个强大的模型,但它实际上只是一个开始。Open Graph将人置于网络的中心。...接下来,Facebook推出了Graph API,这是Facebook推动数据交换的手段,正如你在旧Facebook开发者页面上看到的,Facebook愿意放弃一切: Facebook的开发者页面上显示给予第三方应用程序的所有数据...FACEBOOK的品牌 Facebook采取这样一种策略,甚至比谷歌专横地将维基百科作为阴谋论的补充信息更加令人惊讶:Facebook的座右铭是“让世界更加开放和连接”,而且无论用户喜不喜欢,Facebook

    892100

    社交网络场景下大规模图存储实践——Facebook TAO

    由于社交场景中的喜欢、事件、页面等都可以通过图模型来方便表达,这一抽象层极大的降低了应用层工程师的心智负担。...如下图 a),假设在 Facebook 上有这么一事件:Alice 和 Bob 在金门大桥打了个卡,Cathy 评论:真希望我也在那。David 喜欢了这条评论。...由于多数场景下的联结是双向的,因此 Facebook 将其边的 API 默认行为同时作用于两条边。...*此种查询很常见,因此最好将其直接存下来,以能够在常数时间内返回结果。 尽管联结千千万,但最近的范围是重点查询对象(时间局部性),因此联结的查询 API 主要围绕时间的范围查询展开。...因为在 Facebook 页面信息流展示时,总是先展示最新的,然后随着不断下拉,依次加载较旧的数据。

    1.6K20

    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统一登录,可以减少投入,并且可以跨不同设备...所有的东西在Open Graph中都有ID Graph API使用的HTTP请求,GET for read, POST for modify & add, DELETE to remove nodes....HTTP请求的路径是: graph.facebook.com Names 可以根据name来获取用户信息。...Connections 连接是通过构建不同的URL通过Graph API去获取用户的具体信息。再获取用户信息前提是用户必须授权给应用,否则返回空的数据集合。

    2K80

    Facebook 爬虫

    最后返回当前页面的url,cookie和对应的头信息 在浏览器中执行登录操作的时候发现如果是新用户(没有填写相关信息用户)会跳转到www.facebook.com/?...,返回错误,爬虫停止 pass #TODO:解析对应的用户信息,这里主要解析用户id和页面类型 获取时间线信息 Facebook的用户时间线是通过异步加载的方式来进行的...但是我发现一般的应用Token 在获取公共主页的时候也存在一个授权的问题,好在Facebook提供了一个api的测试平台,而平台中提供了一个graph explore token,这个token可以不用授权...#拼接API api = urljoin("https://graph.facebook.com/v3.0", response.meta["user_id"]) api =..._get_public_posts, errback=self.error_parse ) API返回的信息是以json格式返回的,下面是使用posts返回的一个例子,这里只是作为一个例子

    3.7K30

    Facebook Ads广告业务API接口的源代码泄露漏洞

    发现漏洞 一个多月后,我就发现了存在Facebook Ads广告业务系统API中的一个漏洞。...存在漏洞的API是一个图片处理接口,它用于Facebook商户账户上传广告图片,上传的图片会储存在一个名为“/adimages”的目录下,并用base64格式编码。...所以,我的测试构想是,在这里的机制中,可以向上传图片中注入恶意Payload,经API转换为 Base64 格式后,再被Facebook传入服务器中。...= 由于Facebook服务器端不能有效地处理恶意Payload图片,最终其“Image Resizing Tool”图片处理工具返回了一个报错,在某个JSON响应内容的异常消息中,就包括了一些PHP库函数代码...,这些代码来自不同的Facebook库文件,可以肯定的是,这应该属于Facebook源代码的一部份。

    1.2K60

    Auto-Tinder-训练AI玩打火机刷卡游戏

    API进行喜欢/不喜欢/比赛等。...https://api.gotinder.com/v2/recs/core 通过分析/ recs / core的内容,可以清楚地看到此API端点返回附近人员的用户个人资料列表。...它还将提供一些基本功能,例如“喜欢”或“不喜欢”,这些请求向tinder-api发出了请求,这使能够方便地使用“ some_person.like()”来喜欢发现有趣的配置文件。...下一个函数获取图像和张量流图,使用它运行一个张量流会话,并返回有关检测到的类(对象类型),边界框和得分(确定正确检测到对象的确定性)的所有信息。...,并使用先前开发的预处理步骤检查它们是否在名称中具有编码标签,从而将图像复制到“已分类”文件夹中的图像中: import os import person_detector import tensorflow

    1.6K20

    黑客利用ChatGPT劫持Facebook账户

    如果某个用户在 Facebook 上有一个活动、经过验证的会话,则恶意扩展插件为开发人员访问 Meta 的 Graph API。...API 访问使扩展能够获取与用户 Facebook 帐户相关的所有数据,甚至可以代表用户采取各种行动。...对此 Guardio 表示,Facebook 生态系统下的应用程序通常是一个 SaaS 服务,它被批准使用其特殊的 API。...一个有经济动机的网络罪犯活动 在 Facebook 通过其 Meta Graph API 授予访问权之前,首先必须确认该请求是来自一个经过认证的可信用户,为了规避这一预防措施,威胁者在恶意的浏览器扩展中加入了代码...,确保从受害者的浏览器向Facebook 网站发出的所有请求都被修改了标题,以便它们看起来也是可信的,这使得该扩展能够使用受感染的浏览器自由地浏览任何 Facebook 页面(包括进行 API 调用和操作

    1.4K20

    关于如何做一个“优秀网站”的清单——规范篇

    在适当情况下提供社交相关的元数据 确认方法: ●在FaceBook的爬虫工具中打开自己网站中一个有代表性的页面,并确保他看起来是合理的。...(Facebook爬虫工具地址: https://developers.facebook.com/tools/debug/) ●检查Twitter Cards的元信息是否存在,如果你觉得这个有必要的话...从详细信息页面返回,保留上一个列表页面上的滚动位置 确认方法:在应用程序中查找列表视图。向下滚动点击一个项目进入详细页面。在详细页面上滚动。...按返回,确保列表视图滚动到与细节链接/按钮被点击之前相同的位置。 改善方法:当用户按“返回”时,恢复列表中的滚动位置。有些路由库可以帮你完成这个功能。...下面是天狗网的页面,在列表中点击详情页后,再后退返回列表时,列表页仍然能滚到上次进入的位置 点击时,输入框不会被屏幕键盘遮蔽 确认方法:找到一个包含文本输入的页面。

    3.2K70

    一个关于Facebook用户个人和好友隐私信息泄露的漏洞

    因为我自己对iframes的一些特别跨域行为(cross-origin)算是有些了解,于是,我想到了以下测试技巧: 首先,让我们来看一下Facebook中内置的搜索功能页面,该功能有一个后端接口,用来接收一些搜索参数的...Facebook受害者用户去打开我们的构造的恶意网站,让他点击网站上的任何地方,这种地方可以嵌入一些JavaScript脚本进行迷惑,之后,用构造成型跳出的Facebook搜索页面弹出窗或新标签,引诱用户执行我们想要的任何搜索查询结果...通过操纵Facebook的图谱搜索(Facebook’s Graph Search)功能,我们可以构造一些反映Facebook受害者用户的个人隐私信息搜索请求。...Facebook’s Graph Search:为Facebook的图谱搜索功能,并不是图片搜索的意思,这是Facebook于2013年初推出并加入的新型搜索功能,与常规搜索引擎的关键词搜索不同,Graph...页面,引诱受害者用户执行搜索,返回我们想要收集的信息,这样就可以间接对其个人隐私的窃取。

    89040

    Spring Boot 与 OAuth2

    如果你用浏览器工具(Chrome上的F12),追踪查看所有路由的网络流量操作,你将看到Facebook的重定向,最后用新的 Set-Cookie请求头返回主页。...添加一个欢迎页面 在本节中,我们将修改我们刚刚构建的应用程序,通过添加一个显式的链接登录Facebook。新的链接不会立即被重定向,而是可以在主页上看到,用户可以选择登录或不经过身份验证。...要做到这一点,我们要使用AngularJS,但是如果你更喜欢使用不同的框架,你可把客户端的代码转换成其他框架。...客户端是可重用的,因此你还可以使用它与你的授权服务器(在本例中是Facebook)提供的OAuth2资源进行交互(在本例中为Graph API)。...客户端的组成部分是主页(只打印用户名)和配置文件的显式名称(通过 spring.config.name=client)。

    10.6K120

    Yii2实现QQ互联登录

    ' => [ 'class' => 'yii\authclient\clients\Facebook', 'clientId' => 'facebook_client_id', 'clientSecret...申请(个人)开发者 QQ 互联中申请开发者信息的页面,一些重点太过简陋,缺失细节,比如身份证正面照的相关拍摄细节完全没有描述,我当时就直接上传了这个“身份证正面照”,然后等了 3 天, 3 天后收到腾讯开放平台的邮件通知说审核没通过...,比 QQ 互联上的申请页面好多了。...3、服务商验证第三方网站的身份后,授予一个临时令牌。 4、第三方网站获得临时令牌后,将用户导向至服务商的授权页面请求用户授权,然后这个过程中将临时令牌和第三方网站的返回地址发送给服务商。...5、用户在服务商的授权页面上输入自己的用户名和密码,授权第三方网站访问所相应的资源。 6、授权成功后,服务商将用户导向第三方网站的返回地址。

    1.2K31
    领券