CSRFって多分こういうのを言うんでしょうかね
昨日の記事にいくつか「これCSRFなの?」という声をいただきました。
一歩手前くらいにとどめた、とは書いたものの、ややこしい書き方をしたので誤解を与えてしまったのは申し訳なく思います。しかし消すのはなにか違う気がする。ではどうするか。
実際に簡単な掲示板を作ってアタックさせてみよう
というわけで今回はこのリンクを踏むと見てくれがちゃっちいこの掲示板へ勝手に書き込みます。しかもIPアドレスを抜き取るので地味に厄介です*1。
今回の手口はこうです。
攻撃用ページのHTMLは至って普通ですが、attack.cssというスタイルシートに(バレバレな)細工をしてあります。
.attack:before { content: url('/attack.jpg?hoge=fuga') !important; //リクエストごとに違います position: absolute; left: -9999px; }
当然GETしか送れませんが、今時スタイルシートの無効化をやっている人はそうそういないと思うので、スクリプトで発動させる手口よりも引っかかる人が多そうです。なおattack.jpgなる画像は用意しておりませんのでご了承ください。
ちなみに、勝手に書き込まれた投稿はちゃんと消せるようにしてありますし、ここに書き込まれた情報は特に何に使うという事もありませんのでご心配なく。