Hello there, ('ω')ノ
500ドル相当のCookieのテストを。
脆弱性:
アカウントの乗っ取り
IDOR
記事:
https://sankalpa02.medium.com/testing-cookies-worth-500-8fc2310e6d7e
今回は、検索リスト「sso.example.io」と仮定して。
SSOログインの脆弱性に関するレポートを検索していて。
2つのアカウントを作成して。
まずは、CSRFの脆弱性をテストしたものの運がなく。
次に、パスワードリセット機能をテストすることに。
OTPコード、トークンがリファラヘッダまたは応答でリークされる可能性があって。
ウェブサイトのログインフローを観察しようと思って。
WebサイトがJWTトークンを使用してユーザを識別する場合に。
JWTの設定ミスが発生することを期待して。
自分のIDパスワードがリクエストを傍受して。
リクエストで、[ログイン]ボタンをクリックして応答を傍受したものの。
応答本文にJWTトークンやその他のコードはなくて。
ただ、ブラウザに対してユーザを識別することは何かと考えて。
クッキーのテストを開始して。
下記が、サーバからの応答で。
すべてのCookieヘッダを別のアカウントに置き換えてみると。
ユーザを識別する下記のトークンがあって。
SetCookies: example_token = token
このヘッダをさらに深く掘り下げると、下記のように。
分離されたランダムトークンがいくつかあって。
1|random_string_and_integer|5桁のコード|5桁のコード|random_string_and_integer |
ここで私の目を引いたのは、5桁のコードがヘッダで繰り返されていて。
2番目のアカウントとは1文字しか異なっていなくて。
トークンヘッダでわかるように、5桁のコード(47402)が繰り返されていて。
2番目のアカウントコードは47403で。
そこで、その5桁のコードを2番目のアカウントに置き換えてから。
2番目のアカウントにログインしてから。
コード47402を47401に置き換えたことを確認して。
すると、別のユーザのアカウントにログインすることができて。
Best regards, (^^ゞ