web-dev-qa-db-ja.com

URLのログイン名とパスワード

私は最近、次の形式のURLを持つWebアプリケーションに遭遇しました。

http://www.[WEBAPP].com/INetService/Show.aspx?Username=[EMAIL]&EncryptedPassword=[Some String of 32 characters length]

これは、特にhttpを使用しているだけでなく、攻撃者がトラフィックを簡単に読み取ることができるので、ログイン資格情報をサーバーに配信するのはかなり悪い方法のようですが、このリンクを一定時間後にコピーして別のブラウザーに貼り付けることもできます。別のコンピュータ上でそれが動作します。

これは事実上、ユーザーのブラウザー履歴が何らかの理由で(たとえば、公共のコンピューターを不注意に使用して)危険にさらされている場合、ユーザーアカウントも危険にさらされる可能性があり、ログアウトは本質的に何もしないことを意味します。

アプリケーションを開発者に通知する必要がありますか?

4

はい、開発者に通知する必要があります。これは非常に深刻な脆弱性と見なすことができます。彼らがあなたのアドバイスに耳を傾けることを選ぶかどうかは彼らの選択ですが、少なくともあなたが彼らが彼らのウェブアプリケーションのための彼らのセキュリティを改善するのを助けるためにあなたができることをしたことを知っていると安心できます。

結局のところ、これらはユーザーのセキュリティに最終的に責任を負うものであり、セキュリティのこの明らかな抜け穴を無視するのは非常に愚かです。

開発者にメール/メッセージを書き込むことを選択した場合は、何もしないことで起こり得る結果の概要を説明してください。これは、実際にバグを修正するためにそれらをキックスタートするのに役立ちます。

編集:私は彼らが以下の変更を加えることを提案します...

  • 現在のようにWebページのURLに情報が表示されないように、Webフォームを送信するときに 'post'メソッドを使用します。
  • SSLを実装して、クライアントとサーバー間の通信に基本レベルの暗号化を追加することを提案する
  • Cookieを使用してセッション情報を保存し、URLで提供される情報を有効な認証形式として使用しないことをお勧めします。理論的には、このようなアプリを設計するときは、エンドユーザーを信頼できないため、サーバー側のスクリプト/ソフトウェアが必要な検証をすべて実行する必要があると想定するのが賢明です。
6
RedBullNinja