搜人、照片、视频、位置 …… 大全:新的FB”图谱搜索”替代方案 —— 尤其强调防御
- 如何追踪个人;
- 如何追踪热点事件;
- 如何查找实时的社交媒体情报;
- 如何挖视频、照片、地理位置……
这里介绍的的确是工具,但是 ⚠️ 特别提醒防御!
鉴于中国当局已经非常擅长从推特 Facebook 追踪华人,您需要留意这篇文章中的绿色字体 - 那是可能的用例 ……
- 它是调查工具,也是社交媒体情报挖掘的技巧,并且,更为重要的是,它是个人安全防御的有效措施
先讲一件真实的事。
去年的某个时候,我们交流过的一位朋友告诉我们,TA在西方某国读书,但仅仅由于在 Facebook 上为香港的某个活动的页面点了赞,导致TA在中国的亲属被威胁,并要求TA回国。
请注意,TA已经离开中国在海外读书近10年,TA 的社交媒体使用了别名(不是匿名而是别名);TA 并没有发言,仅仅是点了赞。TA的 Facebook 个人资料中绝大多数都是“仅限朋友”的设置。
此事也影响到了TA的学术研究,直到现在TA不敢回中国做某些调查。
TA联系我们是由于TA想要知道自己是如何被中国当局盯住的。
事实上很简单,TA没能做到完好地匿名 —— 社交媒体的个人简历(比如求学经历)、与中国社交媒体账户同步发布照片、人际关系在线清晰可见……
请注意这件事肯定不是特例。
正如我们曾经分析过的:
- ⚠️《社交媒体情报在全球泛滥,并处于灰色地带,**没有**法律和标准以保护人权》;
- ⚠️中国当局想要在 Twitter 和 Facebook 上扫荡任何人都 **不需要** 美国寡头的协助 —— 开源情报挖掘可以简单地定位任何不够小心的人。而且,《他们已经使用这种方法对付所有人长达20年》;
- ⚠️并且,您无法通过自我审查来避免灾难,因为《您根本不会知道当局是如何判断什么为“敏感”(这篇 文章中指出的960个应用的列表)》
- ⚠️最后,也是最重要的:《您需要知道如何制作一个匿名的社交媒体账户》以保护安全;并且,应该《熟练使用安全操作技巧》
本文的主要目的是介绍工具 —— 但与我们曾经介绍过的所有工具一样,它既可以进攻也可以防御。
您可以使用它追踪大型群体事件的细节、验证信息真伪、挖掘虚假账户和僵尸网络的内幕 …… 同时也可以使用它来挖掘自己,《通过敌人的眼睛看自己》,及时发现安全疏漏并抢在对手进攻之前弥补它们。
Facebook 在2019年6月7日关闭了其图谱搜索选项。开源情报社区的人们在几个小时内就找到了解决方案,但不幸的是,那些解决方案似乎都没有持续很长时间 —— 因为Facebook不断阻止。
但现在,终于有了一个稍微稳定的解决方案。
刚开始时,“新”图谱搜索似乎有些包罗万象,但是一旦掌握了它,就会发现它就非常容易使用。
它涉及一些 JSON 和 Base64,不是所有人都熟悉的语言。但是,即使您可能从未听说过这些概念,仍然可以构建完好的图谱查询!
当然,有一些工具和网站(例如 Graph.tips、Sowdust 和 Intelx.io)都在简化获取 Facebook 数据的方式;它们做得很好;但是,对您来说,最好还是能知道这些工具的工作原理,而不是完全依靠它们。
正如我们最近所看到的那样,网站及其工具来来往往不断更新,这个领域并没有常态;即使您最喜欢的工具被淘汰了,了解它是如何运作的也能为您提供很大帮助。
而且还能保持对开源情报的好奇心 —— 好奇心是决胜的根基。
在开始之前…
就像在“旧”图谱搜索中一样,ID号仍然很重要。您可以按照以下说明很容易地找到一个 Facebook ID 号:
1、在网络浏览器中打开感兴趣的页面或个人资料;
2、右键单击页面上没有内容的某个地方(通常在浅灰色区域),然后选择“查看页面源代码”(或使用 Ctrl + U。这在大多数浏览器中都适用);
3、使用 Ctrl + F 搜索 “entity_id”(在查看个人资料时),搜 “ page_id”(在查看页面时)或 “group_id”(在查看群组时)。 “ entity_id =” 或 “ page_id =”后面提到的数字就是您需要复制的ID。
💡另外,别忘了将您的 Facebook 语言设置切换为 “美式英语”,这样可以获得最佳效果。
搜索 Facebook
根据 Buzzfeed 上的一篇文章,Facebook 表示:“在 Facebook 上,绝大多数人使用关键字进行搜索,这是导致我们暂停图谱搜索某些方面并更多地专注于改善关键字搜索的一个因素。我们正在与研究人员紧密合作,以确保他们拥有使用我们的平台所需的工具。”
可以承认他们的关键字搜索有所改进。提供了多种过滤器供您选择。你可以试试看。
不要忘记登录 Facebook 才能使用搜索选项。⚠️如果您在创建或维护研究资料方面遇到困难,请查看我们以前关于《袜子木偶》的技巧文章之一。
使用“新”图谱搜索进行搜索
这里才是真正开始。
即使搜索栏工作得很好,您有时还是希望对感兴趣的内容进行专门的过滤。
例如,有关特定主题的“最新”帖子。尽管该选项仍然可用,但那不是标准选项。您仍需要付出更多的努力。
基准
对于每次搜索,基准始终是以下这个URL:
facebook.com/search/top/?q=people&epa=FILTERS&filters=
在此URL中,我们将进行一些调整并在末尾添加一些内容。
我们将从选择要搜索的正确类别开始。
要调整类别,请在以下提到的类别之一中更改突出显示的部分(“ top /”):
facebook.com/search/top/?q=people&epa=FILTERS&filters=
这些是可供选择的类别:
现在您知道了如何更改类别,下面我们来看一下更改搜索查询。
更改搜索查询是在此URL下面的突出显示部分中完成的:
facebook.com/search/top/?q=people&epa=FILTERS&filters=
将“people”更改为您要搜索的任何内容。
搜索多个单词?只需继续输入,空格将变为“%20”;或在单词之间输入“ +” (E.g. ‘osintcurious+technisette’ or ‘John+Doe‘ or ‘Ford+Mustang+Red‘).
注意:您始终必须填写查询。您不能将其留空。
现在,您知道了如何更改类别以及如何更改搜索查询。已经完成一半了!
下一步
现在,我们将深入探讨 JSON 和 Base64。不要怕!您不需要“说”或“写”任何这些数据格式,但仍然能够找出其工作方式。
现在将最后一部分添加到此URL中。解释此问题的最佳方法是使用示例。
假设您要搜索有关“棒球”主题的最新帖子,那么就是如下所示:
facebook.com/search/posts/?q=baseball&epa=FILTERS&filters=
‘search/posts/’ 是因为要查找的是公开的帖子;‘?q=baseball’ 这是要找的东西。
要查找“最新”帖子,就必须将 JSON 字符串转换为 Base64。
‘Most recent’ 的JSON字符串为:
{“rp_chrono_sort”:”{\”name\”:\”chronosort\”,\”args\”:\”\”}”}
💡要将 JSON 转换为 Base64,可以使用 CyberChef。这是一个免费的在线工具,非常易于使用。(此外还有更多其他工具可帮助您将 JSON 转换为 Base64。选择最喜欢的工具吧)
使用方法:
1、从 Operations section 选择 “To Base64”;将此选项拖放到“Recipe”部分。
2、“输入”字段为空白。确保如上所述在此 Input 字段中粘贴 JSON 行。
3、现在,您将在“输出”字段中看到结果。 (如果您没有立即看到结果,请确保检查 “Auto bake” 框是否被打勾)
4、复制 Base64 输出。
是的就像你使用翻译软件那样。
然后它看起来就像这样:
eyJycF9jaHJvbm9fc29ydCI6IntcIm5hbWVcIjpcImNocm9ub3NvcnRcIixcImFyZ3NcIjpcIlwifSJ9
现在就可以将 URL 和 Base64 放在一起了:
facebook.com/search/posts/?q=baseball&epa=FILTERS&filters=eyJycF9jaHJvbm9fc29ydCI6IntcIm5hbWVcIjpcImNocm9ub3NvcnRcIixcImFyZ3NcIjpcIlwifSJ9
现在,您将看到有关“棒球”主题的最新帖子。
这并不难,对吧?
以此类推,你可以搜索任何你想要的东西!
每个类别可能的选项
每个类别有多个选项可以过滤。这里总结了可能的选项,并将其中一些转换为 Base64 —— 我们会标注一些用例;但请记住,那绝不是唯一用例!如何使用它们完全由您的调查目标所决定。
并非所有选项都适用;对于某些选项,您将需要特定的 Facebook ID。如果您不知道如何获取ID,请向上滚动以获取说明。
必须说,其中一些带来了比 Facebook 常规搜索更好的结果,而另一些则显示了较少的内容。因此,请确保继续尝试,保持好奇心并测试查询。
Search/top/ 搜索最受欢迎的内容
最新热门内容 <这将有利于追踪热点事件>:
JSON: {"rp_chrono_sort":"{\"name\":\"chronosort\",\"args\":\"\"}"}
Base64: eyJycF9jaHJvbm9fc29ydCI6IntcIm5hbWVcIjpcImNocm9ub3NvcnRcIixcImFyZ3NcIjpcIlwifSJ9
最受欢迎的公开内容 <由此您将看到什么人在关心这些内容>:
JSON: {"rp_author":"{\"name\":\"merged_public_posts\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJtZXJnZWRfcHVibGljX3Bvc3RzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
从您自己的个人资料发布的最受欢迎内容 <如果你在钓鱼/或者营销……这个方法可以帮你快速找到想要的线索>:
JSON: {"rp_author":"{\"name\":\"author_me\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJhdXRob3JfbWVcIixcImFyZ3NcIjpcIlwifSJ9
您的个人资料查看的最受欢迎内容 <用来防御>:
JSON: {"interacted_posts":"{\"name\":\"interacted_posts\",\"args\":\"\"}"}
Base64: eyJpbnRlcmFjdGVkX3Bvc3RzIjoie1wibmFtZVwiOlwiaW50ZXJhY3RlZF9wb3N0c1wiLFwiYXJnc1wiOlwiXCJ9In0=
您的朋友发布的最受欢迎的内容 <了解你的组织动态;请注意,这里的“您”可以是袜子木偶账户,也就是追踪者渗透目标组织时可见的东西>:
JSON: {"rp_author":"{\"name\":\"author_friends_feed\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJhdXRob3JfZnJpZW5kc19mZWVkXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您点赞的页面或您所属的群组中最受欢迎的内容 <回忆本文开头讲述的故事,关于TA如何被当局瞄准。如果您没有使用匿名账户,并在此查询中找到了敏感内容,您知道该如何处理它们>:
JSON: {"rp_author":"{\"name\":\"my_groups_and_pages_posts\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJteV9ncm91cHNfYW5kX3BhZ2VzX3Bvc3RzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您所属的群组中最受欢迎的内容:
JSON: {"rp_group":"{\"name\":\"my_groups_posts\",\"args\":\"\"}"}
Base64: eyJycF9ncm91cCI6IntcIm5hbWVcIjpcIm15X2dyb3Vwc19wb3N0c1wiLFwiYXJnc1wiOlwiXCJ9In0=
特定页面上最受欢迎的内容 —— 注意:您将需要感兴趣页面的 Facebook ID。将“ PutIDHere”替换为该ID号。<追踪者和操纵者可以轻松瞄准任何它们感兴趣的页面>
JSON: {"rp_author":"{\"name\":\"author\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
特定群组中最受欢迎的内容 —— 注意:您将需要感兴趣页面的 Facebook ID。将“ PutIDHere”替换为该ID号。
JSON: {"rp_group":"{\"name\":\"group_posts\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
带有特定位置标记的最受欢迎的内容 —— 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。<用来追踪突发事件和群体事件相关的新信息>
JSON: {"rp_location":"{\"name\":\"location\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
在特定时间范围内发布的最受欢迎的内容 —— 注意:您必须更改时间范围。您可以根据自己的喜好更改下面突出显示的部分。<也是用来追踪事件的,不论是个人还是群体事件>
JSON: {“rp_creation_time”:”{\”name\”:\”creation_time\”,\”args\”:\”{\\\”start_year\\\”:\\\”2019\\\”,\\\”start_month\\\”:\\\”2019–1\\\”,\\\”end_year\\\”:\\\”2019\\\”,\\\”end_month\\\”:\\\”2019–12\\\”,\\\”start_day\\\”:\\\”2019–1–1\\\”,\\\”end_day\\\”:\\\”2019–12–31\\\”}\”}”}
Base64: Depends on the time range used.
Search/posts/ (搜索公开帖子)
公开帖子
JSON: {"rp_author":"{\"name\":\"merged_public_posts\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJtZXJnZWRfcHVibGljX3Bvc3RzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您个人资料中的帖子
JSON: {"rp_author":"{\"name\":\"author_me\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJhdXRob3JfbWVcIixcImFyZ3NcIjpcIlwifSJ9
您的个人资料查看的帖子 <你看过什么可能自己已经忘了,但是 Facebook 记得>
JSON: {"interacted_posts":"{\"name\":\"interacted_posts\",\"args\":\"\"}"}
Base64: eyJpbnRlcmFjdGVkX3Bvc3RzIjoie1wibmFtZVwiOlwiaW50ZXJhY3RlZF9wb3N0c1wiLFwiYXJnc1wiOlwiXCJ9In0=
您的朋友的帖子
JSON: {"rp_author":"{\"name\":\"author_friends_feed\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJhdXRob3JfZnJpZW5kc19mZWVkXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您点赞的页面和您所属的群组中的帖子 <用于防御,回忆文章开头的故事>
JSON: {"rp_author":"{\"name\":\"my_groups_and_pages_posts\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJteV9ncm91cHNfYW5kX3BhZ2VzX3Bvc3RzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您所属的群组中的帖子
JSON: {"rp_group":"{\"name\":\"my_groups_posts\",\"args\":\"\"}"}
Base64: eyJycF9ncm91cCI6IntcIm5hbWVcIjpcIm15X2dyb3Vwc19wb3N0c1wiLFwiYXJnc1wiOlwiXCJ9In0=
来自特定页面的帖子 —— 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。
JSON: {"rp_author":"{\"name\":\"author\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
来自特定群组的帖子 —— 注意:您将需要感兴趣页面的Facebook ID。将 “ PutIDHere” 替换为该ID号。
JSON: {"rp_group":"{\"name\":\"group_posts\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
标有特定位置的公开信息 —— 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。<追踪目标事件或个人>
JSON: {"rp_location":"{\"name\":\"location\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
在特定时间范围内的公开帖子 —— 注意:您必须更改时间范围。您可以根据自己的喜好更改下面突出显示的部分。<追踪目标事件或个人>
JSON: {“rp_creation_time”:”{\”name\”:\”creation_time\”,\”args\”:\”{\\\”start_year\\\”:\\\”2019\\\”,\\\”start_month\\\”:\\\”2019–1\\\”,\\\”end_year\\\”:\\\”2019\\\”,\\\”end_month\\\”:\\\”2019–12\\\”,\\\”start_day\\\”:\\\”2019–1–1\\\”,\\\”end_day\\\”:\\\”2019–12–31\\\”}\”}”}
Base64: Depends on the time range used.
Search/people/(找人)
特定城市中的人 —— 注意:您将需要感兴趣页面的 Facebook ID。将“ PutIDHere”替换为该ID号。<请勿在简介中标注任何真实个人信息!>
JSON: {"city":"{\"name\":\"users_location\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
有特定教育经历的人 —— 注意:您将需要感兴趣页面的 Facebook ID。将“ PutIDHere”替换为该ID号。<请勿在简介中标注任何真实个人经历!>
JSON: {"school":"{\"name\":\"users_school\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
为特定雇主工作的人 —— 注意:您将需要感兴趣页面的 Facebook ID。将” PutIDHere”替换为该ID号。<请勿在简介中标注任何真实个人信息!>
JSON: {"employer":"{\"name\":\"users_employer\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
查找自己个人资料的朋友 <关系网络>
JSON: {"friends":"{\"name\":\"users_friends\",\"args\":\"\"}"}
Base64: eyJmcmllbmRzIjoie1wibmFtZVwiOlwidXNlcnNfZnJpZW5kc1wiLFwiYXJnc1wiOlwiXCJ9In0=
寻找自己朋友的共同朋友 <有可能隐藏的关系网络>
JSON: {"friends":"{\"name\":\"users_friends_of_friends\",\"args\":\"\"}"}
Base64: eyJmcmllbmRzIjoie1wibmFtZVwiOlwidXNlcnNfZnJpZW5kc19vZl9mcmllbmRzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
查找一个特定个人资料的朋友 —— 注意:您将需要感兴趣页面的 Facebook ID。将” PutIDHere”替换为该ID号。<追踪所用>
JSON: {"friends":"{\"name\":\"users_friends_of_people\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
Search/photos/(搜照片)
<以下均为调查所用,并可用于防御 —— 筛查并删除任何包括您正面脸部的照片!>
公开照片
JSON: {"rp_author":"{\"name\":\"merged_public_posts\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJtZXJnZWRfcHVibGljX3Bvc3RzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您自己的照片从您的个人资料中发布的
JSON: {"rp_author":"{\"name\":\"author_me\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJhdXRob3JfbWVcIixcImFyZ3NcIjpcIlwifSJ9
您的个人资料查看的照片
JSON: {"interacted_posts":"{\"name\":\"interacted_posts\",\"args\":\"\"}"}
Base64: eyJpbnRlcmFjdGVkX3Bvc3RzIjoie1wibmFtZVwiOlwiaW50ZXJhY3RlZF9wb3N0c1wiLFwiYXJnc1wiOlwiXCJ9In0=
您的朋友发布的照片
JSON: {"rp_author":"{\"name\":\"author_friends_feed\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJhdXRob3JfZnJpZW5kc19mZWVkXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您点赞的页面和您所属的群组发布的照片
JSON: {"rp_author":"{\"name\":\"my_groups_and_pages_posts\",\"args\":\"\"}"}
Base64: eyJycF9hdXRob3IiOiJ7XCJuYW1lXCI6XCJteV9ncm91cHNfYW5kX3BhZ2VzX3Bvc3RzXCIsXCJhcmdzXCI6XCJcIn0ifQ==
您所属的群组发布的照片
JSON: {"rp_group":"{\"name\":\"my_groups_posts\",\"args\":\"\"}"}
Base64: eyJycF9ncm91cCI6IntcIm5hbWVcIjpcIm15X2dyb3Vwc19wb3N0c1wiLFwiYXJnc1wiOlwiXCJ9In0=
特定页面发布的照片 —— 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。
JSON: {"rp_author":"{\"name\":\"author\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
特定群组发布的照片— — 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。
JSON: {"rp_group":"{\"name\":\"group_posts\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
带有特定位置标签的照片 — — 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。
JSON: {"rp_location":"{\"name\":\"location\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
在特定时间范围内发布的照片 — — 注意:您必须更改时间范围。您可以根据自己的喜好更改下面突出显示的部分。
JSON: {“rp_creation_time”:”{\”name\”:\”creation_time\”,\”args\”:\”{\\\”start_year\\\”:\\\”2019\\\”,\\\”start_month\\\”:\\\”2019–1\\\”,\\\”end_year\\\”:\\\”2019\\\”,\\\”end_month\\\”:\\\”2019–12\\\”,\\\”start_day\\\”:\\\”2019–1–1\\\”,\\\”end_day\\\”:\\\”2019–12–31\\\”}\”}”}
Base64: Depends on the time range used.
Search/videos/(搜视频)
<以下均为调查所用 —— 追踪具体事件;且可以做到筛查并发现,如果有人上传了包含您的脸部的视频,并在说明中详细介绍了您的真实身份,请对方删除此视频!>
搜索直播视频
JSON: {"videos_source":"{\"name\":\"videos_live\",\"args\":\"\"}"}
Base64: eyJ2aWRlb3Nfc291cmNlIjoie1wibmFtZVwiOlwidmlkZW9zX2xpdmVcIixcImFyZ3NcIjpcIlwifSJ9
搜索事件
JSON: {"videos_source":"{\"name\":\"videos_episode\",\"args\":\"\"}"}
Base64: eyJ2aWRlb3Nfc291cmNlIjoie1wibmFtZVwiOlwidmlkZW9zX2VwaXNvZGVcIixcImFyZ3NcIjpcIlwifSJ9
您的朋友和您所属的群组发布的视频
JSON: {"videos_source":"{\"name\":\"videos_feed\",\"args\":\"\"}"}
Base64: eyJ2aWRlb3Nfc291cmNlIjoie1wibmFtZVwiOlwidmlkZW9zX2ZlZWRcIixcImFyZ3NcIjpcIlwifSJ9
标记到特定位置的视频 — — 注意:您将需要感兴趣页面的Facebook ID。将“ PutIDHere”替换为该ID号。
SON: {"rp_location":"{\"name\":\"location\",\"args\":\"PutIDHere\"}"}
Base64: Depends on the ID used.
在特定时间范围内发布的视频 —— — — 注意:您必须更改时间范围。您可以根据自己的喜好更改下面突出显示的部分。
JSON: {“rp_creation_time”:”{\”name\”:\”creation_time\”,\”args\”:\”{\\\”start_year\\\”:\\\”2019\\\”,\\\”start_month\\\”:\\\”2019–1\\\”,\\\”end_year\\\”:\\\”2019\\\”,\\\”end_month\\\”:\\\”2019–12\\\”,\\\”start_day\\\”:\\\”2019–1–1\\\”,\\\”end_day\\\”:\\\”2019–12–31\\\”}\”}”}
Base64: Depends on the time range used.
Search/pages(搜页面)
<为调查所用(包括各种目的的追踪)>
搜索“已验证”页面
JSON: {"verified":"{\"name\":\"pages_verified\",\"args\":\"\"}"}
Base64: eyJ2ZXJpZmllZCI6IntcIm5hbWVcIjpcInBhZ2VzX3ZlcmlmaWVkXCIsXCJhcmdzXCI6XCJcIn0ifQ==
搜索当地商家或地点的页面
JSON: {"category":"{\"name\":\"pages_category\",\"args\":\"1006\"}"}
Base64: eyJjYXRlZ29yeSI6IntcIm5hbWVcIjpcInBhZ2VzX2NhdGVnb3J5XCIsXCJhcmdzXCI6XCIxMDA2XCJ9In0=
搜索公司、组织或机构的页面
JSON: {"category":"{\"name\":\"pages_category\",\"args\":\"1013\"}"}
Base64: eyJjYXRlZ29yeSI6IntcIm5hbWVcIjpcInBhZ2VzX2NhdGVnb3J5XCIsXCJhcmdzXCI6XCIxMDEzXCJ9In0=
搜索品牌或产品页面
JSON: {"category":"{\"name\":\"pages_category\",\"args\":\"1009\"}"}
Base64: eyJjYXRlZ29yeSI6IntcIm5hbWVcIjpcInBhZ2VzX2NhdGVnb3J5XCIsXCJhcmdzXCI6XCIxMDA5XCJ9In0=
搜索艺术家、政客、或公众人物的页面
JSON: {"category":"{\"name\":\"pages_category\",\"args\":\"1007,180164648685982\"}"}
Base64: eyJjYXRlZ29yeSI6IntcIm5hbWVcIjpcInBhZ2VzX2NhdGVnb3J5XCIsXCJhcmdzXCI6XCIxMDA3LDE4MDE2NDY0ODY4NTk4MlwifSJ9
搜索娱乐页面
JSON: {"category":"{\"name\":\"pages_category\",\"args\":\"1019\"}"}
Base64: eyJjYXRlZ29yeSI6IntcIm5hbWVcIjpcInBhZ2VzX2NhdGVnb3J5XCIsXCJhcmdzXCI6XCIxMDE5XCJ9In0=
搜索组织社区的页面
JSON: {"category":"{\"name\":\"pages_category\",\"args\":\"2612\"}"}
Base64: eyJjYXRlZ29yeSI6IntcIm5hbWVcIjpcInBhZ2VzX2NhdGVnb3J5XCIsXCJhcmdzXCI6XCIyNjEyXCJ9In0=
执行查询时可能出现的错误原因
您可能会得到空白页或显示该页面不存在的情况。
⚠️如果显示空白页,则说明您在查询中做错了什么。举例来说,这表示您尝试在“people”类别中搜索“Most recent”,这肯定找不到。
检查您是否选择了正确的类别和正确的查询。然后重建查询。
⚠️如果您看到“此页面不存在”的错误消息;这表示您在查询中拼错了一些内容。
检查您是否复制了正确的 Base64 行、是否使用了如上所述的正确的基本 URL、是否不小心删除了某个位置的字符,等等。
⚠️ 如果正确拼写所有内容依旧遇到错误呢?这可能与以下事实有关:JSON 字符串中的引号不是直的而是稍微倾斜的。确保使用英文的直引号。
组合查询
以上的内容您掌握了吗?
如果是,我们将进一步提高 —— 使用组合查询。
例如,通过这种方式,您可以搜索居住在“加利福尼亚山景城”并为“ Google”工作的、名字里带有“John”的人,等等。
要组合什么?
请先回忆上述我们讨论过的类别:
- Search/top/
- Search/posts/
- Search/people/
- Search/photos/
- Search/videos/
- Search/pages/
无法将“照片”中的查询与“人物”中的查询结合在一起。因此您必须使组合停留在一个类别中(例如,您使用个人资料在特定群组中查看过的帖子,等等)。
如何开始组合
为了组合查询,我们必须将两行(或更多)JSON 行放在一起。
最好用一个例子来解释:假设我们正在寻找居住在“加利福尼亚山景城” 为 “ Google” 工作的、名为“John”的人。
首先构建基本URL。在该示例的情况下,它将如下所示:
facebook.com/search/people/?q=john&epa=FILTERS&filters=
‘search/people/’ 的意思是你想要找人;‘?q=john’ 是目的,查找名为 John 的人。
因此,现在我们需要找到“加利福尼亚山景城”位置的ID和“ Google”业务页面的ID。
Mountain View, California = 108212625870265
Google = 104958162837
现在,使用JSON行来查找特定城市中的人,并插入 Mountain View 的ID:
{“city”:”{\”name\”:\”users_location\”,\”args\”:\”108212625870265\”}”}
其次,采用JSON行来查找为特定雇主工作的人,并插入 Google 的ID:
{“employer”:”{\”name\”:\”users_employer\”,\”args\”:\”104958162837\”}”}
现在需要将这两行结合起来。为了将它们组合在一起,需要删除一些花括号并添加一个逗号。
下面:需要删除的花括号被突出显示,并且需要插入的逗号也被突出显示:
{“city”:”{\”name\”:\”users_location\”,\”args\”:\”108212625870265\”}”},{“employer”:”{\”name\”:\”users_employer\”,\”args\”:\”104958162837\”}”}
完整的正确JSON行将变成这样:
{“city”:”{\”name\”:\”users_location\”,\”args\”:\”108212625870265\”}”,”employer”:”{\”name\”:\”users_employer\”,\”args\”:\”104958162837\”}”
尝试组合这些查询时,对其进行测试很重要。
通过以下方式可以非常轻松地完成测试:https://jsonformatter.curiousconcept.com/
- 粘贴您创建的JSON行;
- 选择JSON模板 ‘Compact’;
- 点击 ‘Process’。
如果您犯了一个错误,则会看到一个报错,并且,其中会包括您犯错的地方。真的很有帮助!
最常见的错误是JSON行中的引号不正确。必须是英文直引号。
如果您在测试 JSON 行时遇到错误,请确保将 JSON 行复制并粘贴到 Microsoft Word 等文本程序中,选取文本并将字体更改为 “ Lucinda Console”。
现在,复制并粘贴 JSON 行,您的问题应该已解决。
因此,既然已经拥有正确的 JSON 行,那么就可以回到 CyberChef 了。就像前文所演示的那样,我们将 JSON “bake”到 Base64。
得到的结果如下:
eyJjaXR5Ijoie1wibmFtZVwiOlwidXNlcnNfbG9jYXRpb25cIixcImFyZ3NcIjpcIjEwODIxMjYyNTg3MDI2NVwifSIsImVtcGxveWVyIjoie1wibmFtZVwiOlwidXNlcnNfZW1wbG95ZXJcIixcImFyZ3NcIjpcIjEwNDk1ODE2MjgzN1wifSJ9
放到一起!
好的,现在已经创建了基本URL,并创建了包含两个查询的搜索组合。那么把它们放到一起:
facebook.com/search/people/?q=john&epa=FILTERS&filters=eyJjaXR5Ijoie1wibmFtZVwiOlwidXNlcnNfbG9jYXRpb25cIixcImFyZ3NcIjpcIjEwODIxMjYyNTg3MDI2NVwifSIsImVtcGxveWVyIjoie1wibmFtZVwiOlwidXNlcnNfZW1wbG95ZXJcIixcImFyZ3NcIjpcIjEwNDk1ODE2MjgzN1wifSJ9
现在,您将看到生活在“山景城”中名为“ John”的人(为“ Google”工作)的搜索结果!
如果您要专门搜索页面或城市,则在单击“选择城市”时使用页面ID号比在下拉菜单中搜索特定页面要有效得多。
更多地尝试查询
您必须尝试不同的查询,以找出最适合您的查询。
甚至尝试在查询中放入2条以上的JSON行。
另外,不要忘记搜索栏!也有一些不错的过滤选项!
而且,如果您在使用搜索栏时已注意到构建URL的方式,您会发现其中的 Base64 行 —— 您总是可以尝试将 Base64 反向转换为 JSON(使用 CyberChef),以了解 Facebook 如何构建查询,以便您可以从中学习。
⚠️再次强调:请注意本文中标注的诸多安全防御用例。
就是这样,玩得开心!⚪️
这篇文章来自 djnemec 的 Github,您可以在这里看到。此外 Kirby 的网站中也有很多有趣的东西,在这里看到。