データがURLエンコードされている場合、HTTP GETはどれくらい安全ですか?
-
06-07-2019 - |
質問
データがURLエンコードされている場合、HTTP GETを介してログイン資格情報を送信するのに十分安全ですか?
解決
まったくありません。エンコードされたURLは簡単に元に戻すことができます。トランスポート層を暗号化する必要があります(つまり、HTTPSを使用します)
他のヒント
いいえ-URLエンコードは、GETリクエストで送信しようとするすべての文字が実際に相手に届くようにすることを目的としています。
実際には、セキュリティのためではなく、転送のためにデータを準備するために簡単にエンコードおよびデコードされるように設計されています。
URLエンコードは暗号化の種類ではなく、ネットワーク経由で送信される文字列を準備するだけです。
データが機密である場合、GETは完全に問題になりません。この理由は?
- 明らかなのは、URLバーを覗くと誰でもデータが表示されることです
- データは、トラフを通過するすべてのプロキシログに残されます
- ユーザーがサイトを離れると、次のサイトのログ/ウェブ統計(REFERER)にURLが記録されます。
URLの仕様(RFC 1738、'94年12月)は、URLで許可される文字の使用をUS-ASCII文字セットの限られたサブセットのみに制限するという問題を提起します。
一方、HTMLは、ISO-8859-1(ISO-Latin)文字セットの全範囲をドキュメントで使用できるようにします。HTML4は、すべてのUnicode文字セットも含むように許容範囲を拡張します。非ISO-8859-1文字(UnicodeセットでFF 16進数/ 255 10進数を超える文字)の場合、URLコンテンツで文字セット情報を指定する安全な方法がないため、URLで使用できません。まだ[RFC2396。]
URLは、URLがオブジェクトをインポートするために参照されるHTMLドキュメントのどこでもエンコードする必要があります(A、APPLET、AREA、BASE、BGSOUND、BODY、EMBED、FORM、FRAME、IFRAME、ILAYER、IMG、ISINDEX、INPUT、 LAYER、LINK、OBJECT、SCRIPT、SOUND、TABLE、TD、TH、およびTR要素。)
セキュリティはここでは重要ではありません。既に述べたように、必要な場合はHTTPSを使用する必要があります。
URLEncodingは、セキュリティではなくエンコード/送信用です。
まったく安全ではありません。