ソース:
訳:
このバグには、 不正アクセス や API エンドポイントのセキュリティ 上の欠陥につながるセキュリティ上の脆弱性の発見が含まれて。
1. 発見
まず、ウェブサイト上で、登録している学生、仕事、雇用主の数が表示されるセクションを見て。
これらの数値の出所を理解するために、 ページのソース を調べたところ、次の AJAX クエリが見つかり。
![](https://miro.medium.com/v2/resize:fit:1400/1*94T2YnmKgkpQw-ZrO8shSw.png)
![](https://miro.medium.com/v2/resize:fit:1400/1*C3Y5LNz5Do2HzOaXLyOcYw.png)
![](https://miro.medium.com/v2/resize:fit:1400/1*wLSiWNTtPOlw004jKng2Fw.png)
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 エラーが発生し。
これは、これらのメソッドは使用可能ですが、アクセスする権限がないことを示して。
4.学生テーブルへのアクセス成功
ときに 401 エラーは発生しませんでした。
3 番目のエンドポイントでテストを続行したとき、「 GetAll 」メソッドを試して Student テーブルのすべてのフィールドにアクセスした
https://................................/api/Admin/Students/GetAll
このバグは比較的簡単に発見できましたが、重大度の高い重大なバグでした。 ソフトウェア開発者は、このような状況ではより注意し、より厳密にテストする必要があり。
ほなほな。