web-dev-qa-db-ja.com

セキュリティを検討する場合、ブラウザの履歴は重要な要素ですか?

SaaS製品に重大な脆弱性があると思われる何かを発見しました。これには、登録時およびすべてのログイン試行時に、URLのクエリ文字列にユーザー名とパスワードが含まれています。

このサービスのテクニカルサポートによると、この脆弱性を悪用する唯一の方法はユーザーのブラウザー履歴にアクセスすることであるため、この脆弱性は重要ではないと考えています。

彼らの決定は正しかったですか?私は情報セキュリティにかなり慣れていませんが、それでも彼らの怠惰のように聞こえます。

私は この質問 をざっと読みましたが、データがGETを介して送信され、資格情報がプレーンテキストで表示されているため、最も賛成された回答を読んだことで、見落とされていることにさらに懸念を抱きました。

88
Ivan T.

はい、これは脆弱性です。次のような8つの遺体を指すことができます。

一般的な問題は、資格情報がクライアント側のクリア(ブラウザの履歴)とサーバー側(ウェブサーバーの接続ログ)に保存されていることです。そのデータにアクセスする方法は複数あります。

はい、それは彼らの側の怠惰です。彼らは自分たちのコードだけを考えており、クライアント側とインフラストラクチャを忘れています。

119
schroeder

シークレットはURLに属していません。 URLは、ブラウザの履歴、プロキシキャッシュ、サーバーログに表示され、分析サービスプロバイダーに送信されます。また、秘密情報を表示したくない他の多くの場所に表示される可能性があります。 HTTPSを使用する(それらはdo HTTPSを使用しますよね?).

ユーザーは、ログイン認証情報がまだ残っていることに気付かずに、URLをコピーして貼り付けることもできます。

したがって、登録とログインでは、メッセージ本文にログイン資格情報を指定してHTTPS POSTメソッドを使用する必要があります。

56
Philipp

製品セキュリティの最初のルール:セキュリティの問題は無関係であると言って、決してベンダーを信頼しないでください。

私はすでに与えられた技術的な答えを複製しません。それらをさらに詳しく説明し、問題を無関係と評価するように導く評価は仮定に基づいていることを指摘します。あなたの環境をしっかりと理解していないと彼らはこの呼び出しを行うことができません。それは、自動車会社が250 km/hで新しいモデルを運転することは完全に安全であると言っているようなものです-おそらくテストトラックにありますが、実際の道路ではほとんどありません(道路の質と交通量)。

これは欠陥の評価がどのように行われるかを理解すると明らかになります。ブラウザの履歴とは別に、GETパラメータはプロキシログファイルにも表示され、誰かがリンクを共有したいときに誤ってメールされる可能性があり、エンジニアリング上の誤った決定が原因でこの秘密が漏洩する可能性のある他の2つの最も明白な方法を挙げます。

脆弱性自体とその悪い理由付けとその周りの処理の両方を考慮すると、セキュリティで保護された製品を製造する能力を真剣に疑っています。私は彼らに不明確な言葉で知らせ、この新しい情報に照らして製品を再評価します。

12
Tom

あなたが正しいです。ここには2つの点があります。

  1. URLの資格情報
  2. ブラウザーでのキャッシュ

資格情報はURLで公開しないでください。 URLは、プロキシサーバーやファイアウォールなど、多くの場所に記録されています。ファイアウォール管理者またはそれらに沿った何かだった場合、私はその情報を盗みたくなります。攻撃者がブラウザにアクセスする必要があるという彼らの要点になりました。ユーザーが公共のコンピュータを使用している場合はどうでしょうか?彼らはまだそれは取るに足らないと言いますか?もしそうなら、あなたは彼らのサービスの使用をやめる必要があります。

3
H4X