* 最初のGETを使い回すspam投稿ロボット
#掲示板spam対策 #個々事例
spam投稿司令塔とゾンビの兵隊も参照
GETとPOSTが違うホストから行われる例であり、また、DSBLの効きがめっきり悪くなった例でもある。
spam投稿司令塔とゾンビの兵隊も参照
GETとPOSTが違うホストから行われる例であり、また、DSBLの効きがめっきり悪くなった例でもある。
2006/12/15,04:24:55,72.36.205.10,"sql3.christiandnsonline.com","-","-",GET,"/BBS/BBS.cgi","","1.1",200(ReadMore...)
2006/12/15,04:25:15,80.227.0.156,"","-","-",POST,"/BBS/BBS.cgi","","1.1",200
2006/12/15,04:25:19,222.231.50.97,"","-","-",POST,"/BBS/BBS.cgi","","1.0",200
2006/12/15,04:25:21,83.243.108.45,"named.derbynet.pl","-","-",POST,"/BBS/BBS.cgi","","1.0",200
* 掲示板spam対策いろいろ
* DSBLが効かない
#掲示板spam対策
7月末にDSBLは効果絶大なんて書いたのだが、近頃(12月現在)はめっきり効果がない。
現在も、掲示板のプログラム冒頭でDSBLに問い合わせて、登録されていたら問答無用で404を返しているのだが、ログを見るとspammerっぽいアクセスの防御率は1割を切っているっぽい。
(詳細な分析はしていないので、ぱっと見だが。
導入当初は「ほとんど」のそれっぽいGETを弾けていたのだけど。
(「メールアドレスとして有効な文字列があったら」投稿拒否しており、それによりほぼ全てのspam投稿は拒否されているが)
原因は不明。DSBLがあまり更新されていないのか、DSBLには登録されないbotnetを使った投稿が主流になったのか…。
どちらにせよ、防御率と誤判定の危険を天秤にかけると、DSBLの使用は、もはやあまりお勧めではない。
7月末にDSBLは効果絶大なんて書いたのだが、近頃(12月現在)はめっきり効果がない。
現在も、掲示板のプログラム冒頭でDSBLに問い合わせて、登録されていたら問答無用で404を返しているのだが、ログを見るとspammerっぽいアクセスの防御率は1割を切っているっぽい。
(詳細な分析はしていないので、ぱっと見だが。
導入当初は「ほとんど」のそれっぽいGETを弾けていたのだけど。
(「メールアドレスとして有効な文字列があったら」投稿拒否しており、それによりほぼ全てのspam投稿は拒否されているが)
原因は不明。DSBLがあまり更新されていないのか、DSBLには登録されないbotnetを使った投稿が主流になったのか…。
どちらにせよ、防御率と誤判定の危険を天秤にかけると、DSBLの使用は、もはやあまりお勧めではない。
* 新種のspam投稿ロボット「6fNS6」(仮称)
* G-LIGHT(等)向け、お手軽spam対策
glight.cgiの400行目あたり↓の部分の
メール欄記入時のエラー条件が反転する。
その結果、メールアドレス欄に記入されていて、かつその文字列がメールアドレスとして有効なものである場合に、エラーが発生する。
英語圏の無差別spamは、ほとんどの場合にformのそれっぽい欄(name="mail"とか)にメールアドレスを入れて投稿するので、この改変でエラーとして弾かれる。
spamが飛び交う昨今、掲示板に無防備にメールアドレスを書き込む人なんていないよね?
Webの日本語圏に蔓延^H^H普及しているKent製の掲示板プログラムでは同じような部分があるので、G-LIGHT以外でも同様の改変が可能であろう。わずか一文字書き換えるだけでいい割には、効果絶大だと思う。
#掲示板spam対策 #Web
if ($in{'email'} && $in{'email'}!~ /^[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,6}$/)にある「!~」を「=~」に変える。
{ &error("Eメールの入力内容が不正です"); }
メール欄記入時のエラー条件が反転する。
その結果、メールアドレス欄に記入されていて、かつその文字列がメールアドレスとして有効なものである場合に、エラーが発生する。
英語圏の無差別spamは、ほとんどの場合にformのそれっぽい欄(name="mail"とか)にメールアドレスを入れて投稿するので、この改変でエラーとして弾かれる。
spamが飛び交う昨今、掲示板に無防備にメールアドレスを書き込む人なんていないよね?
Webの日本語圏に蔓延^H^H普及しているKent製の掲示板プログラムでは同じような部分があるので、G-LIGHT以外でも同様の改変が可能であろう。わずか一文字書き換えるだけでいい割には、効果絶大だと思う。
#掲示板spam対策 #Web
* RandomNoteの敵はspam投稿用クローラ
#RandomNote #掲示板spam対策 #Web
対策が必要とは思ってるのだけど、たまにしかないし、投稿その物はBASIC認証で弾かれるしで、面倒なので1年以上放置してる。
後述のような感じで、2時間半にわたり、GETとPOST合わせて800回以上のアクセスを行う酷いロボットだった。
401で弾かれているのに延々と試行するのは無駄で、馬鹿なプログラムだと思う。ふつー、エラーが出たらとっととあきらめて他の無防備なBBSとかblogとかWikiを探すよう組むと思う。
(ReadMore...)
2007/09/23
久々に、RandomNoteをspam投稿ロボットが引っかき回していった。対策が必要とは思ってるのだけど、たまにしかないし、投稿その物はBASIC認証で弾かれるしで、面倒なので1年以上放置してる。
後述のような感じで、2時間半にわたり、GETとPOST合わせて800回以上のアクセスを行う酷いロボットだった。
401で弾かれているのに延々と試行するのは無駄で、馬鹿なプログラムだと思う。ふつー、エラーが出たらとっととあきらめて他の無防備なBBSとかblogとかWikiを探すよう組むと思う。
(ReadMore...)
* layeredtech.comを立ち入り禁止に
xxx.xxx.xxx.xxx.reverse.layeredtech.comからのアクセス後に、必ずOpenProxy経由とおぼしきspam投稿試行があり、
クラスBを丸ごとってのはどうよ?と思わないでもないけど、日本語に堪能でかつゲーム機のRGB出力化改造とかに興味を持った人が、layeredtech.comにいる可能性は極めて低いと判断してアクセス禁止。
もしも巻き込まれた不幸な人がいたなら、あからさまなspammerをのさばらせているlayeredtech.comを呪うがよい。あくまでGETしかしていないから規約で退会させるって事ができない、のかもしれないけど、それはそれ。
#掲示板spam対策 #Web
2006/11/06,10:37:27,72.232.179.242,"242.179.232.72.reverse.layeredtech.com","-","-",GET,"/BBS/BBS.cgi"," 2006/11/06,10:37:28,62.225.72.140,"","-","-",POST,"/BBS/BBS/BBS.cgi" 2006/11/06,10:37:36,81.183.212.133,"mail.fairway.hu","-","-",POST,"/BBS/BBS/BBS.cgi"かつ、まともそうなアクセスもないので、
#xxx.xxx.xxx.xxx.reverse.layeredtech.com deny from 72.232.0.0/16として、丸ごとアクセス禁止にした。
クラスBを丸ごとってのはどうよ?と思わないでもないけど、日本語に堪能でかつゲーム機のRGB出力化改造とかに興味を持った人が、layeredtech.comにいる可能性は極めて低いと判断してアクセス禁止。
もしも巻き込まれた不幸な人がいたなら、あからさまなspammerをのさばらせているlayeredtech.comを呪うがよい。あくまでGETしかしていないから規約で退会させるって事ができない、のかもしれないけど、それはそれ。
#掲示板spam対策 #Web
* spam投稿司令塔とゾンビの兵隊
2006/10/25,22:18:17,209.67.214.90,"server1.xpressaccess.com","-","-",GET,"/BBS/BBS.cgi","","1.1",200 2006/10/25,22:18:19,201.13.121.178,"201-13-121-178.dsl.telesp.net.br","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",404 2006/10/25,22:18:22,86.55.117.135,"","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",404 2006/10/25,22:18:27,59.94.9.179,"","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",404server1.xpressaccess.comがフォームを取得した後、OpenProxy経由での書き込みを試みている様子がはっきりとわかる。
対象BBSは、DSBLに登録されているホストには問答無用で404を返すように改造してあるので、投稿自体は失敗に終わっている。
しかし、司令塔みたいなserver1.xpressaccess.comはDSBLには登録されていない。ただの想像だが、DSBLとかに登録されないように運用しているのだろう。BBQでも引っかからないし。で、潰してもいい人様の穴のあいたマシンを踏み台にして、実際のspam投稿を行う、と。
以下は、他にもあった同様の痕跡。
2006/10/24,23:38:14,72.36.151.106,"dcwindows.net","-","-",GET,"/BBS/BBS.cgi","","1.1",200 2006/10/24,23:38:23,200.204.126.148,"200-204-126-148.dsl.telesp.net.br","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",404 2006/10/24,23:38:32,61.95.205.88,"dsl-KK-static-088.205.95.61.touchtelindia.net","-","-",POST,"/BBS/BBS/BBS.cgi","","1.0",404 2006/10/24,23:38:33,221.247.27.81,"221x247x27x81.ap221.ftth.ucom.ne.jp","-","-",POST,"/BBS/BBS/BBS.cgi","","1.0",404 2006/10/24,23:38:36,59.94.101.21,"","-","-",POST,"/BBS/BBS/BBS.cgi","","1.1",404
#掲示板spam対策 #Web
* spam投稿ロボットと302
spammerの投稿用リストに問題でもあったのか、そもそも存在しない/bbs/bbs.cgiへのアクセスが見られる。
せっかくだから、実験用に302を返すだけのページを用意してみたところ…
へぇ、302を追いかけるのね。
これを利用して、spammerからのアクセスだったら、その宣伝したいサイトに302で誘導して無用な負荷をかけて嫌がらせ…、と思ったけど誤認したときが厄介なのでダメだな。
#掲示板spam対策 #Web
せっかくだから、実験用に302を返すだけのページを用意してみたところ…
2006/09/17,14:48:10,69.41.171.138,"wmstream.libertyleague.com","-","-",GET,"/bbs/bbs.cgi","","1.1",302,302,"http://baku.homeunix.net/bbs/bbs.cgi"
2006/09/17,14:48:10,69.41.171.138,"wmstream.libertyleague.com","-","-",GET,"/bbs/bbs.txt","","1.1",200,0,"http://baku.homeunix.net/bbs/bbs.txt"
へぇ、302を追いかけるのね。
これを利用して、spammerからのアクセスだったら、その宣伝したいサイトに302で誘導して無用な負荷をかけて嫌がらせ…、と思ったけど誤認したときが厄介なのでダメだな。
#掲示板spam対策 #Web
* 掲示板spammeerのPOSTの投げ方
formを生成した時刻をtype=hiddenで記すようにしてみた。
結果、以下のことがわかった。
・フォームの内容は最初にGETしたときのを使い回す
・不明なhiddenは、その時のをそのまま送る
GETするのとPOSTするのとでホストを変えるのを逆手にとって、hiddenでホストに関する情報を入れておくのも手だな。
(ReadMore...)
結果、以下のことがわかった。
・フォームの内容は最初にGETしたときのを使い回す
・不明なhiddenは、その時のをそのまま送る
GETするのとPOSTするのとでホストを変えるのを逆手にとって、hiddenでホストに関する情報を入れておくのも手だな。
(ReadMore...)
* 掲示板spammerの削除パスワード
掲示板spam投稿ロボットによっては、POST時に削除パスワードを入れるのがある。削除パスワードがないと書き込み拒否される場合の対策だろうか?
どうやら、削除パスワード欄であるかどうかの判別は、"pass"とかの文字列かどうかで判断しているようだ。ダミーの<input type="text" name="pass">をclass="dummy"とでもして、cssで不可視にしておけば、排除の判断に使えそう。
不思議なことに、ランダム文字列じゃなくて固定文字列だったりある程度の規則性があったりする。何かあったときに消去を試みるためだろうか?
(ReadMore...)
どうやら、削除パスワード欄であるかどうかの判別は、"pass"とかの文字列かどうかで判断しているようだ。ダミーの<input type="text" name="pass">をclass="dummy"とでもして、cssで不可視にしておけば、排除の判断に使えそう。
不思議なことに、ランダム文字列じゃなくて固定文字列だったりある程度の規則性があったりする。何かあったときに消去を試みるためだろうか?
(ReadMore...)
* 馬鹿なspam投稿ツール?
Apacheのログに、BBSへのPOSTを行ったもののエラーか何かで反映されていない、spammerからのアクセスが時折見られた。
ApacheのログにはPOST内容までは記録されないので、BBSのプログラムを少しいじってPOST内容を記録するようにして、その手のアクセスを待ち構えることにした。
で、やっとそんなアクセスが1件あったのだが…
本文空っぽ。URLとかを書き込もうとした形跡もなし。
何をやりたいのだろう?と思って、とりあえず"vovo@hotmail.com"をぐぐってみると…
どうやら、本文のtextareaのname属性が"body"じゃないと、本文と判断しないらしい。
…馬鹿?
ま、spammerが能無しなのはありがたいことだ。
とりあえずDSBLに登録されているOpenProxy経由のを弾いても稀にすり抜けて投稿されるのがまだあるので、そんな馬鹿な作者のツールばかりではないようだが。
#掲示板spam対策 #Web
ApacheのログにはPOST内容までは記録されないので、BBSのプログラムを少しいじってPOST内容を記録するようにして、その手のアクセスを待ち構えることにした。
で、やっとそんなアクセスが1件あったのだが…
rep_num 0 pass bsbl7822 do post name Helga data mail vovo@hotmail.com subj carpet-cleaning
本文空っぽ。URLとかを書き込もうとした形跡もなし。
何をやりたいのだろう?と思って、とりあえず"vovo@hotmail.com"をぐぐってみると…
どうやら、本文のtextareaのname属性が"body"じゃないと、本文と判断しないらしい。
…馬鹿?
ま、spammerが能無しなのはありがたいことだ。
とりあえずDSBLに登録されているOpenProxy経由のを弾いても稀にすり抜けて投稿されるのがまだあるので、そんな馬鹿な作者のツールばかりではないようだが。
#掲示板spam対策 #Web
* DSBLは効果絶大
公開プロキシ弾きを投入してからspammerがやってくるのを今か今かと待っていたのだが、やっとやってきた。
spammerがコストをかけずにあちこちからspamをばらまくにはいわゆる公開プロキシを使うぐらいしか手がないだろう。よって、公開プロキシを弾くことは簡便で極めて効果的な掲示板spam対策だと思う。
(botnetを使う手もあるが、そういうクラックをできるspammerはかなり少ないだろう)
#掲示板spam対策 #Web
2006/07/12,16:24:26,222.113.48.67,"","-","-",GET,"/BBS/BBS.cgi","","1.0",404,660 2006/07/12,16:24:30,59.10.196.81,"","-","-",GET,"/BBS/BBS.cgi","","1.0",404,660 2006/07/12,16:24:33,219.251.229.245,"","-","-",GET,"/BBS/BBS.cgi","","1.0",404,660はい、さようなら。
spammerがコストをかけずにあちこちからspamをばらまくにはいわゆる公開プロキシを使うぐらいしか手がないだろう。よって、公開プロキシを弾くことは簡便で極めて効果的な掲示板spam対策だと思う。
(botnetを使う手もあるが、そういうクラックをできるspammerはかなり少ないだろう)
#掲示板spam対策 #Web
* いわゆる公開プロキシからのアクセスを弾く
* spammerは踏み台を使う、ならば
spammerっぽいアクセスは、全部いわゆる公開プロキシからのものだった。
ならば、書き込み処理があったときにプロキシかどうかを調べれば良さそう。
書き込み時に、http://dsbl.org/listing?hogeの問い合わせをして、リストに載っているなら弾けばいいだろう。
問答無用で弾くと誤認識だったときに申し訳ないから、その場合にだけ人間かどうかのチェックボックスとかを出せばいいかな。
#掲示板spam対策 #Web
ならば、書き込み処理があったときにプロキシかどうかを調べれば良さそう。
書き込み時に、http://dsbl.org/listing?hogeの問い合わせをして、リストに載っているなら弾けばいいだろう。
問答無用で弾くと誤認識だったときに申し訳ないから、その場合にだけ人間かどうかのチェックボックスとかを出せばいいかな。
#掲示板spam対策 #Web