Hello there, ('ω')ノ
事前アカウント乗っ取りにつながる一括割り当てを。
脆弱性:
質量割り当て
記事:
https://medium.com/@cyberali/mass-assignment-leading-to-pre-account-takeover-13041280a0d9
アプリケーション プログラマブル インターフェイスとも呼ばれる API は。
最新の自動車 (スマート)、モバイル、Web、IOT デバイスなど。
あらゆる場所で使用されていて。
これらは、今日のアプリケーションのビルディング ブロックで。
web2.0 から web3.0 に移行すると、どこにでもあり。
通信を容易にすることで、コンピューティング機能が互いのリソースを。
利用できるようにし。
言語も国も異なる 2人が同じ理解を得るためには。
同じレベルに到達する必要があるため、この 2 人の翻訳を支援する第三者を招待し。
つまり、第三者が 2つの間の API として機能して。
API が使用される理由について、基本的な考え方があり。
セキュリティの観点から、プライベート プログラムに関する。
興味深い発見の1つを共有したいと。
ターゲット ドメインにいくつかの興味深い脆弱性を発見しましたが。
当時は API テストを開始したばかりで、API レベルの脆弱性を悪用して。
学習内容を評価しようとしていて。
VAmpI Lab で学んだ API OWASP トップ 10 に焦点を当てました。
https://github.com/erev0s/VAmPI
ターゲットは開発中で、範囲は限られていて。
以下のスクリーン ショットに表示されている次の機能が制限されて。
メール編集
プロフィール写真
名前フィールドのみを変更できて。
このエンドポイントで他に何ができるかを考えていて。
OWASP TOP 10 を確認していると、Mass Assignment で行き詰まり。
一括割り当て:
この脆弱性では、開発者は、通常のユーザがリクエスト ポストの本文を操作し。
is_Admin、email、new_password などの機密パラメータを追加できるように。
「開いているウィンドウ」を残しています。
パラメータとその値の推測は少し難しいもので。
パラメータが推測されると、エクスプロイトは簡単で興味深いものになり。
これは、オブジェクトのプロパティの推測とエンドポイントのオプションの調査が。
関係する一括割り当てとして知られているもので。
ターゲット Web アプリケーションでは、攻撃者は。
他のユーザに気付かれずに簡単に登録および検証でき。
プロファイル レコードを変更する場合、ターゲットの電子メール アカウントを。
変更するオプションはなく。
攻撃者は大量の割り当てがあるため。
カスタム キー値「email」:「victims_email」を簡単に挿入して。
被害者のアカウントに登録でき。
被害者の電子メールを挿入した後、攻撃者は自分の電子メールを。
確認することもでき。
アカウントの確認をクリックするだけで、攻撃者は確認リンクが。
記載された電子メールを受信し、それをクリックするとアカウントが確認されて。
ここでログアウトし、ログインできない攻撃者の資格情報で再度ログインし。
新しいメールアドレス(被害者)でメールアドレスを変更してログインして。
Mass Assignment Vulnerability がどのように機能するかについて。
明確な概念があるので、今度はこの脆弱性を悪用するためにたどった手順へ。
再現する手順:
1.ターゲット ドメインでアカウントを作成し。
2. [プロファイル オプションの編集] に移動し、機能を大幅にフィルタリングして。
どのオプションが編集可能で、どのオプションが制限されているかなどで。
自分の場合、メールオプションの変更は編集できず。
3.名前フィールドを変更し、burp suite プロキシ インターセプトをオンにして。
4.送信ボタンをクリックします。 Burp Suite でリクエストをキャプチャし。
5.プロキシタブで、右クリックしてリクエストをリピータに送信し。
リクエスト本文に「email」という名前のパラメータを追加し送信をクリックし。
下記が、Burp Suiteで取得されたリクエストで。
6.リクエストは正常に完了し、攻撃者は自分のアカウントで確認リンクを受け取り。
つまり、電子メールを変更するかどうかを確認し。
攻撃者がリンクを確認すると。
被害者の電子メールが攻撃者のアカウントに追加され。
下記が、攻撃者が受け取る確認リンクで。
最後に、利用可能な機能に固執しないで。
既成概念にとらわれず、アプリケーションが異常な動作をするようにして。
Best regards, (^^ゞ