Shikata Ga Nai

Private? There is no such things.

Discovered a Critical IDOR and Earned $900 for My First P1 Vulnerability!を訳してみた

Hello there, ('ω')ノ

 

クリティカル IDOR を発見し、最初の P1 脆弱性で $900 を獲得を。

 

脆弱性:

 IDOR

 

記事:

 https://medium.com/@abhisekr/discovered-a-critical-idor-and-earned-900-for-my-first-p1-vulnerability-57c1e72f42c1

 

IDORとは、安全でない参照が原因で発生する Web アプリケーションの。

重大な脆弱性であり、ユーザが他のユーザに属する個人情報に。

アクセスできるようになって。

 

会社の Web アプリケーションをレビューしているときに。

要求と応答を詳しく調べることで貴重な情報を入手して。

 

 

スクリーンショットに隠されているものを見ると。

 

1.POST メソッドを使用した「/get-messages」へのリクエス

2.「chatId」と一意の値を持つ JSON 本文

3.「X-Csrf-Token」ヘッダでのCSRF対策

 

リクエストは IDOR に対して一意の値は安全でないオブジェクトを。

参照する可能性があり。

リクエストが CSRF に対して、ヘッダ内のアンチ CSRF トークンにより。

エクスプロイトが困難または不可能になり。

 

ダミーアカウントを作成して「ChatId」を取得し。

前回のリクエストで差し替えたら情報漏えいしてしまい。

アプリケーションは IDOR に対して脆弱であることが判明して。

しかし、どうすれば「ChatId」値を列挙できるか。

 

そこで、アプリケーションのリクエストを分析して。

chatId 値を列挙するというタスクに再び取り組むと。

残念ながら、役に立つものは何も見つからず。

 

分析の後、暗号化の失敗と情報漏えいが明らかになり。

「messageId」というパラメータと、多くのユーザの messageId を。

漏らしたエンドポイントを発見して。

messageId と chatId の間の暗号化関係を壊すことで。

単純な固定バイトの増分であることがわかり。

これで、ユーザに関連付けられたすべての chatId の個人情報に。

アクセスできるようになって。

 

Best regards, (^^ゞ