トップページに戻る

Category

AllArchives

Checker

Credit

User-Agentで掲示板荒らし

アダルトサイトで学ぶHTTP基礎(6)でも書きましたが、User-Agentは閲覧者が設定可能な情報です。

一応ここでもう一度繰り返しておきましょう。User-Agentとは、クライアント(=閲覧者)がサーバーに対して送信する環境変数の一つ。「自分は何というブラウザを使っているか」。IE6.0を使っている人ならば「Mozilla/4.0 (compatible; MSIE 6.0; Win32)」ですね。サイト管理人はこの情報を参照して「あーウチのサイトせっかくOpera対応させたのに誰も使ってねーよ」等と思うことが可能な訳です。


IEやNNといった多くのブラウザは、閲覧者から見えない場所でUser-Agentを勝手にサーバーに対して送信しています。しかし一部ツールを使えばUser-Agentを自分で設定することもできる。(というか、User-Agentはクライアントの自己申告による情報であって、普段はIEが勝手に閲覧者に代わってUser-Agentを申告しているだけです。)
例えばBugBrowserならば「設定」「BugBrowserの設定」「InternetExplorer特殊」内で「サーバーに申告するUser-Agent」を設定できます。

さて。これが意味することは何か。・・・いや、「User-Agentでサイト管理人を笑わせよう」というのも一つの答えではあるのですが(アクセス解析やってると分かりますがタマにUser-Agentに「俺の最終奥義を見せて欲しいか」とか設定してる人がいます)。「掲示板荒らし」という視点で「User-Agent」を見てみましょう。

こんな掲示板を見たことがありませんか?
[69] はじめまして!

マックに「品切れが続いていたナゲットですが販売再開しました」とか張り紙あって笑いました!

yamada - Mozilla/4.0 (compatible; MSIE 6.0; Win32)
2002/05/01 13:45:12
こうした掲示板は「環境変数として取得したUser-Agentを表示」という仕様になっています。そしてUser-Agentはクライアントが自由に設定可能です。と、いうことは。
yamadaがUser-Agentを「<font color="red">彼専用だけに赤いの</font>」にしていたならば、掲示板ログのソースはこのようになります。
(前略)
yamada - <font color="red">彼専用だけに赤いの</font>
(後略)
よってブラウザでの表示は以下。
[69] はじめまして!

マックに「品切れが続いていたナゲットですが販売再開しました」とか張り紙あって笑いました!

yamada - 彼専用だけに赤いの
2002/05/01 13:45:12
現在、多くの掲示板は「タグ禁止」となっています。本文で自由にタグを使える掲示板を探すことは現在では困難でしょう。自由にタグを使わせると、悪意を持った閲覧者に危険なタグを書き込まれるかもしれないから。
参考:「sanakiのホームページ」内「危険??なタグ?掲示板(POST/GET)攻撃
本文でタグを使えないなら。次に思いつくのは、例えば「名前」や「メールアドレス」といった項目でしょう。
メールアドレスに"(ダブルクオーテーション)が入ってないかどうかを、きちんとチェックしているでしょうか。これをチェックしないと、掲示板荒らしの格好の道具になってしまうことがあります。
名前を$name、メールアドレスを$emailという変数に入れている場合、恐らく「<a href="mailto:$email">$name</a>」と書くことでしょう。しかし、この$emailという変数にダブルクオーテーションが入っていたらどうなるでしょうか。
例えば掲示板荒らしが名前欄に「祭りだワッショイ」、メールアドレス欄に「baka@baka.baka" style="font-size:1000pt」などと書いたらどうなるでしょうか。「<a href="mailto:baka@baka.baka" style="font-size:1000pt">祭りだワッショイ</a>」となり、「祭りだワッショイ」という1000ポイントの巨大文字が掲示板を埋め尽くすなどという事態になります。応用次第ではもっと危険ないたずらだってできます。
「名前」や「メールアドレス」にもこうした悪意に対する対策が施されていた場合。それでもUser-Agentが「掲示板CGIのセキュリティホール」になる場合もある。環境変数からUser-Agentを取得して書き込みログに吐くような掲示板を作るなら、User-Agentにも「(本文や名前やメールアドレスと同じように)内容が正当か判断するルーチン」を組み込む必要があります。という話でした。
※参考:超初級CGIクラックガイド(4)
「掲示板に好きなタグを使える」ということは「その掲示板を他の掲示板攻撃の踏み台にできる」ということでもあります。
※参考:小学生でも分かるIP抜き講座(4)
アクセスロギングCGIとの組み合わせで「掲示板を開いた人間のIPアドレスを取得する」ということも可能になります。

SeeAlso

SameSubCategory

Footprint

Navigation

TrackBack

この記事へのトラックバック

Comment

PostForm

情報を登録  
コメントは本文以外省略可能で、当方の承認後掲載されます