自分自身のための ものづくり / 自分自身のためのものづくりメモ

* G-LIGHT(等)向け、お手軽spam対策

glight.cgiの400行目あたり↓の部分の
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

* layeredtech.comを立ち入り禁止に

 xxx.xxx.xxx.xxx.reverse.layeredtech.comからのアクセス後に、必ずOpenProxy経由とおぼしきspam投稿試行があり、
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

* Yahoo!オークションWebサービスで検索ができるようになった

 これまではそれができないのがかなり痛かったのだが、これで通常のブラウザでのアクセスとほぼ同等の情報が得られるようになったな。
 残るは、アダルトカテゴリへの対応?

Yahoo!デベロッパーネットワーク - 検索
http://developer.yahoo.co.jp/auctions/rest/search/V1/search.html

#ヤフオク #YAH! #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",404
 server1.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

* 人とロボットを区別したい

 またRandomNoteの検索キーワードがかき回された。
 今度の犯人は、おそらく先読みプログラムの一種。UAはIEを名乗っているので、種類は不明。

(ReadMore...)

* GetHTMLWにお引き取り願う

 ログを見たら、"Pockey-GetHTML/4.12.0 (Win32; GUI; ix86)"を名乗るUAがものすごい勢い(秒間数アクセス)で根こそぎ(RandomNoteの項目まで)さらっていった形跡があった。

 検索してみたところ、GetHTMLWとのこと。
 あ゛ー、俺、昔使っていたよ…。ダイヤルアップ時代ならともかく、数メガbps当たり前の今日日動かすと恐ろしいことになるのだな。
★★ GetHTML Ver.4.13, GetHTMLW Ver.7.13 より、★★

(1) 同一サーバ(ホスト)への同時取得数が 1 に固定されました
(2) 同一サーバ(ホスト)への連続取得に対し、1秒の wait をデフォルトで入れました

上記は、ブロードバンド化に伴う Web サーバへの負荷を軽減する為の措置です。
とのことだけど、使用者は古いのを使っていたようだな。

 プロキシモードで一度見た記事をため込んで使う分にはとても便利で有用なソフトだと思うのだけど、まるごと取得は勘弁。

というわけで、ちゃんとrobots.txtは読むので、一部動的ページからお引き取り願うことにした。
 4.12以前は丸ごとお引き取り願うべきかなー。


参考:
先読みソフトについて [Archive] - XREA SUPPORT BOARD
http://sb.xrea.com/archive/index.php/t-1388.html
#Web

* spam投稿ロボットと302

 spammerの投稿用リストに問題でもあったのか、そもそも存在しない/bbs/bbs.cgiへのアクセスが見られる。
 せっかくだから、実験用に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...)

* 掲示板spammerの削除パスワード

 掲示板spam投稿ロボットによっては、POST時に削除パスワードを入れるのがある。削除パスワードがないと書き込み拒否される場合の対策だろうか?

 どうやら、削除パスワード欄であるかどうかの判別は、"pass"とかの文字列かどうかで判断しているようだ。ダミーの<input type="text" name="pass">をclass="dummy"とでもして、cssで不可視にしておけば、排除の判断に使えそう。

 不思議なことに、ランダム文字列じゃなくて固定文字列だったりある程度の規則性があったりする。何かあったときに消去を試みるためだろうか?
(ReadMore...)

* elm-chan.orgから弾かれる条件

 いつの間にやら普通に見えるようになっていたのだが、また見れなくなった。
 どうやら、掲示板へのアクセスがアクセス規制発動の鍵っぽい。SleipnirでShift+クリックで各書き込みをポンポンポン…とまとめて開いたのがまずかったようだ。そりゃ、秒間1アクセス以上になるから質の悪いロボットと誤認されても仕方ないか。

 これを書いている途中で、「スレッド(展開)」モードがあることに気づいた。まとめて目を通すときにはこれを使えばよかったのか。


追記:
 数日前から弾かれなくなってた。規制期間は2週間ぐらい?

追記:
 うちの環境のDNSキャッシュが腐っていただけかも。悪いのはXP?ローカルのBIND?ルータ?ケーブルテレビ?

elm-chan.orgを閲覧できなくなった
http://baku.homeunix.net/WiKi/rnx/index.rb?1147794592.txt

#Web #電子工作

* 馬鹿なspam投稿ツール?

 Apacheのログに、BBSへのPOSTを行ったもののエラーか何かで反映されていない、spammerからのアクセスが時折見られた。
 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

* Baiduspider締め出し


 こんな迷惑なアクセスをするロボットは、問答無用で閉め出されてもしかたないと思うぞ。
 robots.txt一応読むようだが、27日に一度読んで
2006/07/27,19:22:27,60.28.17.51,"","-",GET,"","1.1",200,
117,"-","","Baiduspider+(+http://www.baidu.com/search/spider.htm)"
それっきりというのはどうかと思う。
 ま、動的ページへの非効率極まりないアクセスの前には、robots.txtを読む頻度が低いことなんて些細なことだが。

#Web

* DSBLは効果絶大

公開プロキシ弾きを投入してからspammerがやってくるのを今か今かと待っていたのだが、やっとやってきた。
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

* いわゆる公開プロキシからのアクセスを弾く

掲示板へのspamが激しくなりつつあるので対策。
(ReadMore...)

* spammerは踏み台を使う、ならば

 spammerっぽいアクセスは、全部いわゆる公開プロキシからのものだった。
 ならば、書き込み処理があったときにプロキシかどうかを調べれば良さそう。

 書き込み時に、http://dsbl.org/listing?hogeの問い合わせをして、リストに載っているなら弾けばいいだろう。
 問答無用で弾くと誤認識だったときに申し訳ないから、その場合にだけ人間かどうかのチェックボックスとかを出せばいいかな。

#掲示板spam対策 #Web