あめぞうウイルスって何だったの?
あめぞう (掲示板)はあめぞうウイルスによってトドメを刺されたみたいな言説があるが、あめぞうウイルスの実態についてはあまり書かれていない。
追い打ちをかけるように、夏頃からはあめぞうウイルスといわれるスタイルシートを利用したスクリプトによる荒らしが来襲、これにより秋にはあめぞう掲示板は壊滅し、(以下略…)
https://ja.wikipedia.org/w/index.php?title=あめぞう&oldid=92435328
あめぞうの歴史 https://web.archive.org/web/20060516074108/http://history.amebbs.com/ に一部の過去ログが残されている。
それによると:
IE5でスタイルシートを無効にする方法が対策とされている
https://web.archive.org/web/20060516074108/http://history.amebbs.com/1999/1999_1130_2030main1-amexx.htm
画像を表示しなければ大丈夫だった?
https://web.archive.org/web/20060715013023/http://history.amebbs.com/1999/1999_1206_2144-ame.htm
と考えていたがよく見ると上にリンクされている過去ログ https://web.archive.org/web/20060715013012/http://history.amebbs.com/1999/1999_1206_0544-ame.htm のソースを見ると (日付の後にid_を付けるとオリジナルレスポンスが見られる)
code:html
<dl><dt>1<font size=+2 color=red><b><a name=あめぞうウィルス>あめぞうウィルス</a></font></b>投稿者:<a href="mailto:a@b.c"style="position:absolute;background-image:url(http://@208.142.182.216/cgi-bin/main3/minibbs.cgi?submit=新規投稿&name= &email=a@b.c&subject=あめぞうウィルス&value=てすと)"><font color=forestgreen><b> </b></font></a><font size=-1> 投稿日:12月06日(月)05時44分48秒</font><br><dd>てすと</dl>
という風になっていて、結局
メール欄にダブルクオートのエスケープ不備があって、hrefを飛び出して任意のHTML属性を書ける状態になっていた
また、CGI (当時は Perl だったので恐らく CGI.pm あたり?) が POST の内容とGETのパラメータを纏めていた
っぽい https://so-zou.jp/software/tech/programming/perl/module/cgi.htm
リクエストメソッドが POST かどうかを CGI 側で確認していなかった
のが原因っぽい。まあちゃんとやるなら Cookie に CSRF トークンを入れて…みたいな話もあるが、そもそもなんでこんなに蔓延していたんだろう…ログ見たらわかりそうなもんだけど。
対策としては
そもそもちゃんとダブルクオートをエスケープする
アクセスログを眺めれば GET が使われているということがわかるはずなので REQUEST_METHOD == POST でないと書き込ませないみたいな対策を入れる
などが考えられる…はず。
#インターネット考古学