Shikata Ga Nai

Private? There is no such things.

2FA Bypass Do Re Miを訳してみた

Hello there, ('ω')ノ

 

2FAバイパス Do Re Miを。

 

脆弱性:

 2FA バイパス

 

記事:

 https://medium.com/@ashlyn.lau_17206/2fa-bypass-do-re-mi-cfcfc3775d2e

 

すべての 2FA バイパス手法が同等に作られているわけではなく。

これまで遭遇した最も一般的なシナリオは、次のいずれかで。

 

 ・2FA チェックなしで保護されたエンドポイント

 ・サーバ応答での 2FA トークンの開示

 

今回は遭遇した新しいシナリオで。

認証のために有効なユーザ ID とパスワードを送信した後、アプリケーションは。

「ユーザだけが持っているもの」コンポーネントの ID の証明として。

第 2 要素認証を要求して。

 

任意のランダムな mtoken (123456 など) の値を入力し、[ログイン] を選択して。

予想どおり、入力された mtoken値が mtoken_secret値と比較して。

異なるハッシュ値を生成したため、2FA ログインは拒否され。

下記は、無効な mtokenを含むサーバの応答で。

 

 

開発者の直感では、目立った 3 つのパラメータ値があり見過ごされる可能性があって。

操作する 3 つのパラメータは次のとおりで。

 

Do: mtoken

Re: mtoken_secret

Mi: mtoken_t

 

これは、“”や 0 などのデフォルトの空または false 値から。

通常開始するロケット科学ではなく。

特定のフラグが false または値が null/空の場合、プログラムは。

2FA チェックをスキップし、値を変更して。

別の特徴的な組み合わせを作成することを想定していて。

Do Re Mi (試行1)

 

追跡を断ち切るために、下の最後のコンビが大当たりして。

サーバは、認証済みのセッション トークンを返して。

2FA 認証がバイパスされて。

 

Do: mtoken = 0

Re: mtoken_secret #最初のログイン サーバーの応答から返される値

Mi: mtoken_t = “”

 

 

Best regards, (^^ゞ