通过电子邮件地址即可以找到你的LinkedIn个人资料

640.webp.jpg

概述

本文中,研究人员主要介绍了一些LinkedIn外部API的隐私问题,并演示了如何通过电子邮件地址找到与其关联的LinkedIn个人资料。此外,也可以通过LinkedIn个人资料进行反向搜索,找到某人的电子邮件地址。在此次去匿名化攻击中,研究人员利用了LinkedIn与Outlook和YahooMail的集成功能。

功能

研究人员最初注意到在使用Outlook邮件客户端时,页面上有多个显示与该联系人相关的其他信息的标签。其中的一个标签是该联系人的LinkedIn个人资料,里面包含了联系人的公司名称、职务、过去的经历和位置等。看到这些,研究人员开始好奇邮件客户端是如何找到这些个人资料的?

640.webp (1).jpg

640.webp (2).jpg

研究人员通过查看HTTP请求,注意到Outlook客户端在显示个人的详细信息时,将通过WebSocket交换数据。请求或响应的消息采用一种不常见的格式进行编码,如下图所示:

640.png

该请求是通过WebSocket向https://sfnam.loki.delve.office.com发出的。通过查看启动通信的JavaScript代码,可以找到负责上述编码格式的代码。Chrome中的“网络”标签将显示用于启动给定WebSocket通信的JavaScript文件和源代码,如下图所示:

640.webp (3).jpg

查看Chrome突出显示的源代码,研究人员发现该代码可以处理新的请求和响应。在以下的代码片段的onMessage回调处理程序中,我们可以看到,接收到的消息将转换为UInt8数组,并使用inflateRaw方法从Pako模块解压缩。Pako是一个支持LZip压缩算法的库。InflateRaw()函数使用LZip压缩,不包含文件名和修改日期的元数据标头。

 }, e.prototype.onMessage = function (e) {

            var t = this;

            this.inflateData(e.data, function (n) {

                try {

                    t.setServerPingTimerIfEnabled();

                    var r = JSON.parse(n), o = k()(r.Key, 10);

                    if (-1 === o) return;

                    if (r.Headers = r.Headers && q(r.Headers), o in t.activeRequestsMap) {

                        var i = t.activeRequestsMap[o];

                        i && (clearTimeout(i.timeout), setTimeout(function () {

                            return i.onSuccess(r, e.timeStamp)

                        }, 0)), delete t.activeRequestsMap[o]

                    } else t.logError("WebSocket-onMessage-UnableToFindResponseKey", {Key: o.toString()})

                } catch (e) {

                    t.logError("WebSocket-onMessage-ReceiveFailure", {Exception: e.message})

                }

            })

        }, e.prototype.inflateData = function (e, t) {

            return G(this, void 0, void 0, function () {

                var n, r, o;

                return W(this, function (i) {

                    switch (i.label) {

                        case 0:

                            return this.compressionDisabled ? (t(e), [3, 4]) : [3, 1];

                        case 1:

                            return i.trys.push([1, 3, , 4]), [4, this.getPako()];

                        case 2:

                            return n = i.sent(), r = n.inflateRaw(new Uint8Array(e), {to: "string"}), t(r), [3, 4];

                        case 3:

                            return o = i.sent(), this.logError("WebSocket-inflateData-PakoInflateFailure", {Exception: o}), t(""), [3, 4];

                        case 4:

                            return [2]

                    }

                })

            })

知道编码格式后,研究人员创建了一个简单的ZAP插件,如果请求和响应的消息与LZip或GZip格式匹配,ZAP将自动对其进行解码,如下图所示:

640.webp (4).jpg

从以下代码中,我们可以看出有些请求是为LinkedIn终端制作的,这些请求负责在JSON消息中使用/api/v1/linkedin/profiles/full路径加载LinkedIn个人资料。发送到sfnam.loki.delve.office.com的请求大多都是以JSON格式包装的HTTP请求。JSON属性网址类似于HTTP路径,且所有标头都在标头属性下。研究人员在没有WebSocket连接的情况下,直接在HTTP中测试该请求,也可以访问相同的功能。


{

  "Key": "15",

  "Url": "https://sfnam.loki.delve.office.com/api/v1/linkedin/profiles/full?PersonaDisplayName=Peter%20Gibbons&ExternalPageInstance=332c2687-71f7-49df-8b7c-b2402ccbf473&UserLocale=en-US&OlsPersonaId=&AadObjectId=&Smtp=kmitnick%40mitnicksecurity.com&UserPrincipalName=&PersonaType=User&RootCorrelationId=2933990e-0cc2-4406-8103-0cba160e7047&CorrelationId=2933990e-0cc2-4406-8103-0cba160e7047&ClientCorrelationId=0d3bf626-18d0-46bf-8ce4-667b7bb485b4",

  "Verb": "GET",

  "Headers": {

    "Accept": "text/plain, application/json, text/json",

    "X-ClientType": "OwaMail",

    "X-ClientFeature": "LivePersonaCard",

    "X-LPCVersion": "1.20201124.2.1",

    "authorization": "Bearer EwAYA9[...]",

    "X-HostAppCapabilities": "{}"

  }

该功能正在使用指定的名称和电子邮件地址,查找已注册的LinkedIn个人资料。此处将名称“Peter Gibbons”和电子邮件“peter.gibbons aol.com”作为参数传递。

研究人员使用另外一个陌生的电子邮件地址替换上诉地址,服务器将返回以下所示的JSON消息,其中包含与该地址相关的用户的完整LinkedIn个人资料。

{

  "Key": "4",

  "StatusCode": 200,

  "ReasonPhrase": "OK",

  "Headers": {

    "X-WebSocketCorrelationId": "9cb14592-5728-******",

    "Cache-Control": "no-store",

    "Server": "Microsoft-HTTPAPI/2.0",

    "X-BEServer": "_Loki_10716",

    "X-DataCenter": "PROD_NORTHCENTRALUS",

    "X-ServerVersion": "0.20201202.4.1",

    "X-Content-Type-Options": "nosniff",

    "X-TokenTtl": "86390",

    "X-InboundDuration": "14",

    "X-CorrelationId": "9cb14592-5728-47c5- ******,

    "Access-Control-Allow-Origin": "https://sfnam.loki.delve.office.com",

    "Access-Control-Allow-Credentials": "true",

    "Access-Control-Expose-Headers": "X-ServerVersion,X-InboundDuration,X-BEServer,X-TokenTtl,X-SocialDistance,X-CorrelationId,X-DataCenter,x-azure-ref,Retry-After",

    "Date": "Mon, 07 Dec 2020 16:26:01 GMT"

  },

  "Body": "<<JSON escaped string>>"

}

响应体属性中包含如下所示的JSON对象,数据中包含全名、公司、位置、专业经验、学校出勤率和个人资料地址。

{/"resultTemplate/":/"ExactMatch/",/"bound/":true,/"bindUrl/":/"https://login.live.com/accountbind.srf?provider=linkedin.com&redirect_uri=https://loki.delve.office.com/linkedInAuthRedirect.aspx&client_id=000000004C1E916B&dualbind=1&mkt=en-US&external_app=Owa&dualbindmobile=True/",

/"persons/":[{/"id/":/"urn:li:person:DgEN90FFXdpXh-OCiFTGl3l0pTo6d4ub6h19lWlc7mE/",/"displayName/":/"Kevin Mitnick/",/"headline/":/"The World"s Most Famous Hacker | CEO | Author | Professional Speaker/",/"companyName/":/"Mitnick Security Consulting/",/"location/":/"Henderson, Nevada, United States/",

/"photoUrl/":/"https://media.licdn.com/dms/image/C4E03AQEKmI4XcvU8nQ/profile-displayphoto-shrink_800_800/0?e=1613001600&v=beta&t=o8EaQb4TeZn9JhUOTJJOS3PA9uzaewnHWO7n7nJNDfw/",/"linkedInUrl/":/"https://www.linkedin.com/in/kevinmitnick/", 


//... JSON messages also include schools, work experience, company details, 

 

}

值得注意的是,该操作无需与LinkedIn用户进行任何交互。现在,我们已经通过任意电子邮件地址获取LinkedIn个人资料了。

总结

该功能可以被恶意攻击者用于进行去匿名化攻击、凭证填充,以及网络钓鱼攻击等恶意活动。为了避免遭受到此类攻击,建议用户禁止任何人可以通过电子邮件地址查看个人资料,并拒绝与不认识的用户建立连接或向所有人隐藏联系信息。

我们是设计师、工程师、梦想者,是您扬帆出海的私人顾问专家


相关内容:
[亚马逊开店深圳办事处地址在哪里]
[亚马逊开店深圳办事处地址在哪里]
亚马逊开店深圳办事处地址揭秘:一站式开店服务,轻松拥抱财富!各位亲爱的创业者们,你们好!今天要给大家带来一个好消息——亚马逊开店深圳办事处地址终于揭开了神秘面纱!在这里,
亚马逊开店卖翡翠怎么样?
亚马逊开店卖翡翠怎么样?
亚马逊开店卖翡翠:珠宝行业的巨大商机等你来挖掘!在炎热的夏季,一杯清凉的饮料、一本好书和一个精美的翡翠饰品,想必是很多人的首选。翡翠作为中国传统文化中的瑰宝之一,以其晶莹

TG客服:@SSjiejie — 官方频道:@SSwangluo

三生网络 © 2009-2023 超15年出海经验,跨境项目专家