Shikata Ga Nai

Private? There is no such things.

2FA broken logicをやってみた

Hello there, ('ω')ノ

 

まずは、正常動作の確認から。

 

f:id:ThisIsOne:20201119173412p:plain

 

リクエストメッセージを見るとCookieにユーザ名が。

 

f:id:ThisIsOne:20201119173434p:plain

 

次にメールで受信したコードを確認して。

 

f:id:ThisIsOne:20201119173932p:plain

 

コードを入力して。

 

f:id:ThisIsOne:20201119174012p:plain

 

My accountで、正常にログインできたことを確認できて。

 

f:id:ThisIsOne:20201119174033p:plain

 

この履歴よりlogin2というURLをリピータへ。

 

f:id:ThisIsOne:20201120124236p:plain


ユーザ名をcarlosに変更して、ワンタイムパスワードを発行させておいて。

 

f:id:ThisIsOne:20201120185542p:plain

 

ログインアウトしてからweinerで再度ログインして。

誤ったコードを入力すると。

エラーが表示されることを確認しておいて。

 

f:id:ThisIsOne:20201119191831p:plain

 

この時のリクエストをIntruderへ。

 

f:id:ThisIsOne:20201119192029p:plain

 

Cookieの値でユーザ名をcarlosに変更して。

コードが数値4桁なので、このパラメータをブルートフォース攻撃することに。

 

f:id:ThisIsOne:20201119191948p:plain

 

数値の範囲は0000~9999で。

ペイロードファイルは、別途作成することに。

 crunch 4 4 0123456789 -o payload.txt

 

f:id:ThisIsOne:20201120121936p:plain

 

作成したファイルをロードして、攻撃開始すると。

 

f:id:ThisIsOne:20201120185946p:plain

 

ステータスが302で返ってきたリクエストメッセージのレスポンスを。

ブラウザで表示して確認することに。

 

f:id:ThisIsOne:20201120192018p:plain

 

コピーしたURLを張り付けて確認するとcarlosでログインできていた。

 

f:id:ThisIsOne:20201120192127p:plain

 

Best regards, (^^ゞ