アカウント名:
パスワード:
:visitedセレクタあたりを使って訪れているサイトを判定する。あとはそれを...どうやって取得するんだろうw
visited の時だけ参照するリソースを仕込む→ んでそのリソースのログを取る
と予想したらそのままでしたよ
PHPのプログラムまでは読みようがありませんが、http://www.making-the-web.com/misc/sites-you-visit/nojs/base.php [making-the-web.com]にアクセスすればほぼ仕組みはわかりますね。
ここのサイトへのリンクを貼り、それに個別のスタイルシートを適用して 、visited 時に特定のPHPに引数付きでアクセスするようにすることでPHP側で訪問済みサイトがわかるわけです。ただし欠点として、大量のリンクをブラウザ側で解析するので結構重いことがあげられそうです。
HTML形式の迷惑メールにCGIアクセスする画像を貼り付ける手法と手口は同じです。
これを防ぐには訪問済みサイトのスタイル変更を無効にするか、あるいはこまめにリセットするしかなさそうです。あるいはユーザースタイルシートなどを使い visited 時 のスタイルを強制的に固定するか。
ちなみにかなりの数のリストがありましたが海外サイトなのに楽天があったのがおかしい。
>ちなみにかなりの数のリストがありましたが海外サイトなのに楽天があったのがおかしい。
この人が、どんなサイトをチェック対象にする傾向があるのか、Javascriptを使ってた「前のデモ(My previous demo)」のvisitedチェックするサイト文字列の配列のページ [making-the-web.com]がそのままブラウザで読めるので、読みやすい。
多分Alexaの上位を単純にぶっこ抜いて生成してるんだと思うけど、はてなとかアメブロとか、がんばってんのな。
この方法って、直接「vistedなURLを取得できる」のではなく、「あるURLがvistedかどうか判定できる」ことを利用して虱潰しに検索してるわけですが、この方法だと、いかに大量の「判定用URLリスト」を持てるかどうかがキモだと思いますね。
判定用のページには大量(2000ぐらい?)のURLが埋め込まれてますが、さらにそのページをRefreshで随時更新していくことで、どんどん判定URLを送り込んでいるようです。20回リロードしてたので、約40000URLぐらいかな。ここ /.-J のストーリーもいくつかマッチしてました…
全ストーリーが入っているわけではなく、かなり歯抜けなのですが、Refererで集めたのか、それとも適当にクローリングしたんですかねぇ。
見て戻ってきたら遅かったorzみんな解析早すぎですよ
30分待ちなのでIDで
a:visited { cursor: ;}とかも出来るんじゃないかな。ブラウザの独自プロパティ(-moz-*とか)とかまで考えるとかなり難しいかも
Bing [bing.com]o!
自作自演なのでAC ...ってもろバレじゃん∑(゚□゚;)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
元記事を読まずに手口を予想 (スコア:0)
:visitedセレクタあたりを使って訪れているサイトを判定する。
あとはそれを...どうやって取得するんだろうw
Re:元記事を読まずに手口を予想 (スコア:3, 参考になる)
visited の時だけ参照するリソースを仕込む
→ んでそのリソースのログを取る
と予想したらそのままでしたよ
Re:元記事を読まずに手口を予想 (スコア:4, 参考になる)
PHPのプログラムまでは読みようがありませんが、
http://www.making-the-web.com/misc/sites-you-visit/nojs/base.php [making-the-web.com]
にアクセスすればほぼ仕組みはわかりますね。
ここのサイトへのリンクを貼り、それに個別のスタイルシートを適用して 、
visited 時に特定のPHPに引数付きでアクセスするようにすることでPHP側で訪問済みサイトがわかるわけです。
ただし欠点として、大量のリンクをブラウザ側で解析するので結構重いことがあげられそうです。
HTML形式の迷惑メールにCGIアクセスする画像を貼り付ける手法と手口は同じです。
これを防ぐには訪問済みサイトのスタイル変更を無効にするか、あるいはこまめにリセットするしかなさそうです。
あるいはユーザースタイルシートなどを使い visited 時 のスタイルを強制的に固定するか。
ちなみにかなりの数のリストがありましたが海外サイトなのに楽天があったのがおかしい。
Re: (スコア:0)
>ちなみにかなりの数のリストがありましたが海外サイトなのに楽天があったのがおかしい。
この人が、どんなサイトをチェック対象にする傾向があるのか、
Javascriptを使ってた「前のデモ(My previous demo)」のvisitedチェックするサイト文字列の配列のページ [making-the-web.com]
がそのままブラウザで読めるので、読みやすい。
多分Alexaの上位を単純にぶっこ抜いて生成してるんだと思うけど、
はてなとかアメブロとか、がんばってんのな。
Re:元記事を読まずに手口を予想 (スコア:2, 興味深い)
この方法って、直接「vistedなURLを取得できる」のではなく、
「あるURLがvistedかどうか判定できる」ことを利用して虱潰しに検索してるわけですが、
この方法だと、いかに大量の「判定用URLリスト」を持てるかどうかがキモだと思いますね。
判定用のページには大量(2000ぐらい?)のURLが埋め込まれてますが、さらにそのページをRefreshで随時更新していくことで、
どんどん判定URLを送り込んでいるようです。20回リロードしてたので、約40000URLぐらいかな。
ここ /.-J のストーリーもいくつかマッチしてました…
全ストーリーが入っているわけではなく、かなり歯抜けなのですが、
Refererで集めたのか、それとも適当にクローリングしたんですかねぇ。
Re:元記事を読まずに手口を予想 (スコア:1)
見て戻ってきたら遅かったorz
みんな解析早すぎですよ
30分待ちなのでIDで
Re:元記事を読まずに手口を予想 (スコア:1)
どうやって取得するかどうかですが…、私も気になって思わずソースコード読んでみました。
読めば分かるレベルなので、あえて書きませんが、意外と単純な手だったのでビックリです。
対策 (スコア:0)
a:visited {
background: none !important;
}
IEだと制限つきサイトに登録しても動かなくなりますね。
Re: (スコア:0)
a:visited {
cursor: ;
}
とかも出来るんじゃないかな。
ブラウザの独自プロパティ(-moz-*とか)とかまで考えるとかなり難しいかも
逆にすべて訪問済み扱いにしてやろう (スコア:0)
ユーザーによる対策ではありませんがブラウザのコードとして、:visitedセレクタ内で画像を読む場合それが要素で使われているかどうかの有無を言わさず読み込むようにします。そうすればサイト側が送り込んだ全URLが本当はどうかに関わらず、訪問済み扱いとして取得され、盗んだ履歴が全く信用できないものになります。
もちろん昨今の高速化の流れとは逆行するものになりますけど、その「高速化のために読みとばす」事を利用した攻撃と考えたら。
Re:逆にすべて訪問済み扱いにしてやろう (スコア:1)
多くの人が対応しないと意味がなさげですね。
ブラウザ側で対応してもらうといいんだけど、通信料が増えるので
携帯・モバイル用では難しいでしょうね。
ところで、この手法を使用(悪用?)できそうなサイトはどれぐらいあるんでしょうか?
検索・広告サイトとかなら使えそうですが他に思いつきません。
Re: (スコア:0)
Bing [bing.com]o!
自作自演なのでAC ...ってもろバレじゃん∑(゚□゚;)