top

« 地図へのトラックバック一覧 | メイン | Google Analyticsで、サイトの統計情報を取得する »

a000424

逆アクセスランキング「ReverseAccess」

Memo
Yahoo!ブックマークに登録 はてなブックマークに追加

サイトへの誘導として、逆アクセスランキングを設置しているサイトは多いと思う。
だが、不正アクセスがあとを絶たないのが現状です。
しばらくは、排除URLで対処してきたんだけど、いきなり「http://www.time-stop.net/」というアダルトサイトがタグをランキングに埋め込みcgiから転送をかけるように仕掛けてきました。

サーバー上の access.datを見てもらうとわかるのだが、<iframe src="http://atk.jp/wsmz" width=1 height=1></iframe">というタグを埋め込んでいる。
atk.jp はURL転送サービスで、ここからアダルトサイトへ転送しています。

対策としては、ReverseAccessに対し不正アクセス対策を行った上でログを初期化すること。
同じ登録があるかもしれないから、排除URLに atk.jp(杜撰な経営をしているから排除)を登録で防げるでしょう。

 

以下に具体的なアタック方法と不正アクセス対策を記述します。

不正カウントアップアタック

ReverseAccessにオプション付きでダイレクトに不正アクセスする方法

例えばブラウザのアドレス欄に

http://www.abc.com/access.cgi?http://spam.com/

上記のようにスクリプト名の後ろにURLオプションを指定します。
これで www.abc.com にアクセスすると ReverseAccess は spam.com からのリンクと認識し spam.com のアクセス数に+1を加えます。今ではほとんど見かけなくなりましたが簡単な方法なので数年前まではこれが主流でした。

 

ページ内のimgタグで不正アクセスする方法
例えばページ内に以下のようなimgタグを仕掛けておきます。

<img src="http://www.abc.com/access.cgi?http://spam.com/" width="1" height="1" border="0">

 

上記タグをページ内に複数設置しておきます。見つからないようフレームに隠す場合もあります。
これだけでページにアクセスした人たちが知らず知らずのうちに不正アクセスに加担してしまったのと同じことになります。
いうなれば不正アクセスの自動化バージョンです。
同様の手口でIMGタグではなくJavaScriptを使ったものもあります。(最近はこちらが主流)
上記は実際に今でも行われている不正アクセスの一例です。これ以外にも不正アクセスする方法は多数存在します。
何れも正規な方法ではなく access.cgi に直接アクセスしているのが特徴です。

 

開発元提供の不正アクセス対策

ReverseAccess開発元ではこれらの攻撃を防御するための対策を公開しました。→ 対策

 

上記自サイトURL一部に関して少し補足します。

 

例えば自サイトのURLが http://www.abc.com だとします。
この場合ですと自サイトURL一部は abc あるいは abc\.com になります。

 

例1) if($ENV{'HTTP_REFERER'} !~ /abc/ && !$SSI){
例2) if($ENV{'HTTP_REFERER'} !~ /abc\.com/ && !$SSI){

 

注意することとして自サイトURL一部に /(スラッシュ)や .(ドット)を含める場合はこれら文字の前に必ず \ を追記してください。 自サイトURL 自サイトURL一部
http://www.abc.com → abc\.com
http://www.abc.com/~name → abc\.com\/~name
http://name.abc.com → name\.abc\.com
\ を付けずそのまま記述してしまうとスクリプトが誤判定してしまいますので注意してください。
心配な方は以下の方法をご利用ください。赤色部分を自サイトのURL(あるいは自サイトURLの一部)に書き換えるだけです。
この方法なら \ は不要です。

 

$myurl = 'http://www.abc.com'; #自サイトURL
if($ENV{'HTTP_REFERER'} !~ /$myurl/ && !$SSI){
if(-e $l_f){rmdir($l_f);}
exit;
}

コメント投稿/閲覧 ※ココをクリックすると表示/非表示