ソース:
脆弱性:ATO
訳:
私は音楽ストリーミングベースの Web サイトのセキュリティ調査を行っていました。 問題は解決されましたが、プライバシー上の理由から名前は公開しません 。
パスワードを忘れた場合の機能を調べていて、パスワード リセット リクエストにカスタム ホスト ヘッダーを挿入して機能するかどうかを確認しようとしましたが、機能しませんでした。
私はまだ、パスワード リセットの処理方法など、パスワード リセット機能をいじろうとしていましたが、それでもこの Web サイトはすべて正しい方法で実行しているようです。
計画を変更し、バグを見つけるために別の場所を探す必要があったのですが、そう思いながらパスワード リセット リクエストの応答を開いてしまいました。
そこで私が見たものは次のとおりです。
応答には validationSession というオブジェクトがあり、私にとっては非常に興味深いものでした。
最初は何も気づきませんでしたが、メールで受け取ったパスワード リセットのリンクを見たとき、何かが頭の中でピンと来始めました。
この依頼を受けてメールが来て、気づきました。
パスワード リセットの応答には、 sessionId パスワードをリセットするために必要なコードである が含まれていました。
これで、他の人の電子メール アドレスを送信し、リセット リクエストの応答を確認し、 sessionId を取得し 、 そのユーザーのパスワードをリセットして、何の問題もなくこの Web サイトにログインすることができました。
これは本当に見つけやすいバグで、先ほども言ったように、このパスワード リセット機能に何か問題があることに気づくのに 10 分しかかかりませんでした。
繰り返しますが、以前の記事で述べたように、「すべてが安全で安全」に見える Web サイトでも、非常に基本的な部分で失敗する可能性があります。
したがって、Web サイトがどれほど人気があるとしても、常に小さな点に注意を払う必要があります。
私の中にはいつも「彼らはそこまで愚かではない、きっとそんなことを考えていたのだろう」という思いがあります。
結局のところ、人間は間違いを犯す可能性があり、間違いを犯すでしょう。 それが私が2500ドル裕福である理由ですB)。
ほなほな。