web-dev-qa-db-ja.com

URLに「?.jpg」を追加して制限されたWiFiをバイパスできるのはなぜですか?

最近、 商用空港のWLANのハッキング に関する記事を読みました。基本的には、有料の空港WiFiリダイレクト(アドレスバーに何かを入力すると特定のURLにリダイレクトされる)を回避することです。

?.jpgとtadaを追加するだけです。

私の質問は:なぜこれが機能するのですか?

51
JohnPhteven

ほとんどの場合、ブロッカーは画像を通過させるように設計されています。おそらく、ログインを要求するページで画像をホットリンクしているためです。

URLに?.jpgを追加すると、ブロッカーはURLが画像であると考えます。一方、?の後は、リクエストされた実際のウェブページを変更せず、GETヘッダーのみを変更します。 (したがって、http://google.com/?.jpghttp://google.com/は同じページを提供します)。

URLにクエリ文字列がすでにある場合(疑問符の後の何か)、最初の疑問符だけがクエリ文字列を作成するために考慮されるため、&.jpgではなく?.jpgを使用する必要があることに注意してください。 (通常、2番目の疑問符はデータの一部と見なされます。これにより、間違ったページが表示される可能性があります)

基本的に、ページをフェッチするときに、追加のデータをサーバーに提供できます(データに依存するカスタムページを送信できます)。これには2つの方法があります。GETリクエストとPOSTリクエストです。 GETリクエストはデータをURL自体に配置し、POSTリクエストはより微妙な「隠された」方法で送信します。 SuperUserの「質問する」ページでのGETリクエストの例 。注:GETリクエストを使用するときにデータが存在する必要はありません。通常のWebページをフェッチすると、データなしでGETリクエストになります。

61
Manishearth