Webサイトのフォームではhttpsにしないと大変なことになるよという話をする機会が連日続いたので、なぜ大変か?を実際に見てもらうことにした。

※httpsは暗号化して通信する仕組み。httpの通信は暗号化していない。

SOY CMSの常時SSL化で対応したこと


ちなみに今回の記事は


0000000041452


Ohmshaの基礎からわかるTCP/IP ネットワークコンピューティング入門を参考にしてる。


はじめにネットワークを監視するために


wireshark_top

Wireshark · Go Deep.


オープンソース・ソフトウェアのネットワークアナライザをインストールしておく。

話を始める前に念を込めて書いておくと、


今回の記事で使用するWiresharkはネットワークの構築やメンテナンスのための監視のために使用したり、ネットワークを勉強するために使用する教材みたいなソフトウェアで悪意のある者のためのソフトウェアではありません。

Wireshark - Wikipedia




インストールが終わったら早速、Wiresharkを立ち上げてみる。


今回はインターネット内でどのように情報が流れるのか?を見てもらうために、


http_form2

※わかりやすい様にアドレスバーにはhttpからはじまるようにしている


即席でログインフォームを作成してみた。

このページのURLはhttp://saitodev.co/formで、httpで始まる暗号化されていないページ。

※記事投稿後にこのフォームのページは削除した


P6128416

※この写真はイメージです。


同じネットワーク内にパソコンを二台用意して、一台はログインのための情報を送信を行い、もう一台はWiresharkを立ち上げておく。


http_form2

※わかりやすい様にアドレスバーにはhttpからはじまるようにしている


早速、このページで送信を押してみると、


http_analyze


ネットワーク内に流れるパケットが入ってきた。

情報量が半端ないので、HTTPの通信のみにフィルタリングしてみると、今回の送信の情報を得ることが出来た。


今回流れてきたパケットを確認してもらうと、


http_analyze1


どのページから情報を送信したかわかり、更にパケットの値を確認してみると、


http_analyze2


入力したIDとパスワードが記載されていた。

しかも、入力して送信した値と一致していた。


ということで、httpからはじまるフォームのページでは、特に不正なことをしなくても入力した情報を得ることができ、言ってみれば筒抜け状態であることもわかった。

総当り攻撃をする必要もなくなるわけだ。

SOY CMSに総当り攻撃を仕掛けてみる。その4




一方、


https_form


httpsではじまるURLのフォームのページで、別のPCからIDとパスワードを入力して送信してもらうと、


https_analyze


何が書いてあるかよくわからない。

つまりは暗号化されていることになる。




例えば、ノマドとかでカフェでブログを更新している人がいる。

この人がカフェのフリーWiFiで


wp_login_page

※わかりやすい様にアドレスバーにはhttpからはじまるようにしている


このページを開いてログインした。


この時点でどのサイトのログインフォームで、どんな値のIDとパスワードを入力したか?が速攻でわかる。

WordPressを乗っ取ってしまえば、素敵なことがたくさんできる様になるので危ないということ。


何が危ないのか?は下記の記事をご覧ください。

サイバー攻撃が何と多いことか

CMSに不正にログインした後、何をする?


補足1

httpsで暗号化したからと言って、絶対に傍受されないという保証はないので過信してはいけません


補足2

httpからはじまるお問い合わせフォームのページなんて怖くて利用できない


補足3

httpsに対応しておくと、HTTP/2.0を利用でき、サイトを爆速化できるので、暗号化以外でも対応しておいた方がいい

当サイトをHTTP/2対応して表示の爆速化してみた

ApacheサーバでBrotliを使用してみた


補足4

メールの送受信の仕組みもほぼ変わらないので、暗号化していないメールを傍受して読むことができる


関連記事

【SEO対策】他のCMS向けの総当り攻撃を避ける