Shikata Ga Nai

Private? There is no such things.

Phone Verification Bypassを訳してみた

Hello there, ('ω')ノ

 

電話検証バイパスを。

 

脆弱性:

 OTPバイパス

 

記事:

 https://shrirangdiwakar.medium.com/how-i-turned-0000-into-600-phone-verification-bypass-b1c0f6eb568e

 

24時間年中無休のサポートやデータセンター機能などを備えた。

サーバホスティング管理システムで。

アカ​​ウントを作成した後にユーザが選択したサーバがホストされて。

これは、リソースが利用されていたことを意味して。

ただし、アカウントを不必要に作成すると。

利用可能なリソースが過度に悪用される可能性があって。

 

そのために、ユーザが入力された携帯電話番号で受信された通話で。

伝えられた4桁のコードを入力する必要がある電話検証メカニズムが実装されていて。

そして、正しいコードを入力した場合にのみ。

ユーザは提供された機能にアクセスできて。

 

電話検証メカニズムは、下記のとおりで。
 Step1:phone number  COLL ME NOW!ボタン

 Step2:verification code VERIFY CODEボタン

 

f:id:ThisIsOne:20210804161614p:plain

 

通常のフローは、最初に電話番号を要求し、次に確認コードを要求することで。

では、電話番号を入力する前に「verification code」入力ボックスに値を入力して。

VERIFY CODE」をクリックするとどうなるか。

ユーザが「COLL ME NOW!」をクリックする前に。

開発者が初期値を保持する変数をバックエンドに設定した場合はどうなるか。

1234、1111、8421などを試しましたものの、どれも機能せず。

ただし、0000の場合、アカウントは正常に検証されて。

これは、電話の検証がバイパスされたことを意味して。

 

f:id:ThisIsOne:20210804161737p:plain


実行手順:

1.アカウントを作成すると。

2.電話による検証メカニズムが実装されて。

 同時に検証コードが要求されたため、テストケースに対して脆弱になって。

 したがって、phone numberを入力せずに。

 「verification code」入力ボックスに0000を入力すると。

3.アカウントは正常に確認されて。

 

つまり、ユーザが「COLL ME NOW!」をクリックする前に。

初期値0000を保持する変数がバックエンドに設定されたことを意味して。

 

Best regards, (^^ゞ