How I Found My First Bug in My Bug Bounty Journey から学ぶ

ソース:

medium.com

脆弱性:情報漏洩、API

 

訳:

このバグには、 不正アクセス API エンドポイントのセキュリティ 上の欠陥につながるセキュリティ上の脆弱性の発見が含まれて。 

1. 発見

まず、ウェブサイト上で、登録している学生、仕事、雇用主の数が表示されるセクションを見て。
これらの数値の出所を理解するために、 ページのソース を調べたところ、次の AJAX クエリが見つかり。

 

2. API リンクのアクセシビリティのテスト

見つかった API リンクにアクセスできるかどうかを確認し。

https://................................/api → 404

https://................................/api/Admin → 404

https://................................/api/Admin/Students → 404

https://................................/api/Admin/Jobs → 404

https://................................/api/Admin/Employers → 404

これらのテストの結果、これらの URL が 404 エラーを返すことがわかり。

 

3.エンドポイント内の他の関数とテーブル名の検出

見つかったエンドポイントに他の関数やテーブル名があるかどうかを確認するために、さまざまな実験を試みて。
次のエンドポイントで多くのメソッド名を試しましたが何も見つからず。
最終的に「 GetAll 」メソッドを試して。

https://................................/api/Admin/Jobs/GetAll

https://................................/api/Admin/Employers/GetAll

メソッドを試したところ これら 2 つのエンドポイントで「 GetAll 」、401 Unauthorized エラーが発生し。
これは、これらのメソッドは使用可能ですが、アクセスする権限がないことを示して。

 

HTTP エラー 401

4.学生テーブルへのアクセス成功

ときに 401 エラーは発生しませんでした。
3 番目のエンドポイントでテストを続行したとき、「 GetAll 」メソッドを試して Student テーブルのすべてのフィールドにアクセスした

https://................................/api/Admin/Students/GetAll

 

 

このバグは比較的簡単に発見できましたが、重大度の高い重大なバグでした。 ソフトウェア開発者は、このような状況ではより注意し、より厳密にテストする必要があり。

 

ほなほな。