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

突っ込みなどがありましたら掲示板にお願いします。

* 掲示板へのspam投稿が、久々にチェックをすり抜けた

#掲示板spam対策 #Web

1204215628 Fri Feb 29 01:20:28 JST 2008
HOST 201.86.240.210
page 0


1204215664 Fri Feb 29 01:21:04 JST 2008
HOST 201.86.240.210
rep_num 0
pass XXXXXXXX
page 0
jikan 1204215628
do post
name jammarlibre
data Very good web site, great work and thank you for your service.
mail http://enavivo.info/cookie-monster
subj cookie-monster

 name="mail"なのにURLを書いてきたのは、狙ってのことか?!
(ReadMore...)

* RandomNoteの検索用クローラ対策

#RandomNote #Web #掲示板spam対策
 googleやらyahooやらmsnやらが、入れ替わり立ち替わり、smode=sumやらsmode=countやらcmd=editやらのついたページを、別々のものと見なしてGETしていく。
 こっちにもあっちにも無駄な負荷がかかる、とても不幸なことだ。

とりあえずの対策として、それらへのリンクをformにしてみた。

 検索エンジンは、いくらなんでもsubmitしないだろうから、無駄にリンクを辿らなくなると期待。

 ただし、spam投稿用クローラが心配。textもtextareaもないのにPOSTする馬鹿がいるかもしれない、と危惧している。

ロボットの類相手では、cmd=editとかsmode=hogeとかあったら、404を返すようにした

 既にsmode=hogeとかのページのurlが記録されていて、リンクが無くなっても読みに来る。だから、ロボットの類相手にそれらのページは404を返すようにした。
 ロボットか?の判断は、user_agentにhttp:が入っているかどうか。

ロボットなどに対して、サイドバーを渡さないようにした

 検索の邪魔だよね。本文にないキーワードがあるのは。
 さらに、ロボットに送るデータ量が減るという恩恵もあった。無駄なデータが減るのは、互いにとって有益だ。

* GETでspamを投稿する奴への対策

#RandomNote #掲示板spam対策

 後述のように、GETでspamを投稿を試みるロボットがある。
 そのようなリクエストにより、OR検索が行われ、最近の検索ワードがめちゃくちゃになる。
…というわけで、とりあえず、超やっつけで対策。

def do_search
  @word = @param['word']

  if @word.size > 32
    print_header
    print_footer
    return
  end
 検索用の文字列が32文字以上なら、何も処理を行わずに終了する。
(ヘッダとフッタは返す)

(ReadMore...)

* RandomNoteの敵はspam投稿用クローラ

#RandomNote #掲示板spam対策 #Web

2007/09/23

 久々に、RandomNotespam投稿ロボットが引っかき回していった。
 対策が必要とは思ってるのだけど、たまにしかないし、投稿その物はBASIC認証で弾かれるしで、面倒なので1年以上放置してる。

 後述のような感じで、2時間半にわたり、GETとPOST合わせて800回以上のアクセスを行う酷いロボットだった。
 401で弾かれているのに延々と試行するのは無駄で、馬鹿なプログラムだと思う。ふつー、エラーが出たらとっととあきらめて他の無防備なBBSとかblogとかWikiを探すよう組むと思う。

(ReadMore...)

* iptablesのリストが消えたら、spamが急増した

#掲示板spam対策
 apacheのアクセスログを眺めてみたら、spam投稿---BBSおよびこのWikiもどきへの---がやたらに増えいていた。
 瞬停(たぶん)によりリセットがかかり、iptablesの設定がまっさらになったことが原因だろう。
iptables-restore < iptable.cfg
として、昔保存しておいたリストを読み込んだ。
 iptables-saveしたのは3月だから、それ以降に追加したのは藻屑となったけど、まるっきりフィルタが無いよりもマシになると期待。

 改めて、ログとiptables -Lを見比べると、TCP/IPレベルで蹴っていたはずの接続が沢山あった。

* (文字の画像による)CAPTCHA関連 メモ

#Web #CAPTCHA
PWNtcha - captcha decoder
http://sam.zoy.org/pwntcha/

Breaking a Visual CAPTCHA
http://www.cs.sfu.ca/~mori/research/gimpy/

/aiCAPTCHA : CAPTCHA Comment Spammer
http://www.mperfect.net/aiCaptcha/

Radium Software Development
http://www.radiumsoftware.com/0611.html#061107


zuzara : カタカナでCAPTCHAをつくるPHPコード
http://blog.zuzara.com/2006/11/27/166/

PHPで使えるCAPTCHA画像作成ライブラリまとめ:phpspot開発日誌
http://phpspot.org/blog/archives/2006/11/phpcaptcha.html


自分自身のためのものづくり@hatena - はてなダイアリーのcaptcha
http://d.hatena.ne.jp/bakuchikujuu/20070608

* 100万点のspam出品

#ヤフオク #YAH!
YAH! NG_IDの整理
http://baku.homeunix.net/WiKi/rnx/index.rb?1179662167.txt
にて取得した、IDと出品数のリストを、出品数の多い順にソートし、上位の総出品数を算出した。

結果

 1000点以上出品しているIDが 389 あり、それら総出品数は 716044 --- 71万点 であった。
 100点以上出品しているIDが 1361 あり、それらの総出品数は 1087596 --- 108万点 であった。




* リファラspam

#Web #掲示板spam対策
 ApacheLogViewerを用いてアクセスログに目を通していたら、リファラspamらしきアクセスがあった。
 一見、人間がIE6を使って普通に閲覧したように見えるが、色々不自然。
  • そもそも、リファラのアドレスに当該ページへのリンクが無い
  • 画像を含めて、間髪入れずにほぼきっかり1秒の間隔をおいてアクセス
  • /dolls/2003_0810/へのアクセスのリファラはhttp://baku.homeunix.net/dolls/2004_0227/とあるが、そういうリンクは張ってない

 リファラにあるページはコスプレ衣装の販売サイトのナコルルの衣装。
fairyのサイトはリンクフリーです。 リンクは、http://fairy.cosnet.to/ にお願いします。
とあるのに、直接リンクを張られることを期待してリファラspamを行うとは、笑わせてくれる。

 リファラspamって、効果あるのかねぇ? 関連する単語による検索で引っかかるページに関連する内容のページのリファラにてspamってのは無差別よりも効果的とはいえ…。
 リファラを公に表示するWebページってHNSによる日記ぐらいしか思い浮かばない。…訂正。tDiaryによるblogもあるな。HNSよりもずっと多そうだ。
 あるいは、サイト管理者が「アクセス解析」からアクセスする事を期待しているのかな?だとすれば、わざわざ画像にもアクセスしていることの説明にもなる。

 リファラ周りのバグという線は、たぶん、無いと思う。Windows版IE6.0にそんなバグは無い…はず。
 まず、繰り返しになるけど、アクセス間隔がほぼ1秒おき(画像を含め、ファイルサイズ問わず)ってが猛烈に胡散臭い。また、ほぼ同じアクセスが2回繰り返されてたのは謎だが、人間のアクセスっぽくなく、やはり胡散臭い。(以下では片方しか挙げていない)

以下は当該ログ
(ReadMore...)

* 掲示板spam対策いろいろ

#掲示板spam対策 #Web
 色々な手法を挙げ、その利点と欠点を考える。
(ReadMore...)

* iptables -L

#Web #掲示板spam対策
 迷惑なアクセスをしてくる連中は、TCP/IPレベルで弾くことにした。
 いちいちHTTPに応答するのもかったるい。
~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  66.232.96.0/19       anywhere
DROP       all  --  222.32.0.0/11        anywhere
DROP       all  --  72.232.0.0/16        anywhere
DROP       all  --  72.36.128.0/17       anywhere
DROP       all  --  72.21.32.0/19        anywhere
DROP       all  --  222.32.0.0/11        anywhere
DROP       all  --  ns.km23553.keymachine.de  anywhere
DROP       all  --  test-20464.mts-nn.ru  anywhere

* iptables -A INPUT -s 66.232.96.0/19 -j DROP

#掲示板spam対策
deny from 66.232.96.0/19
http://baku.homeunix.net/WiKi/rnx/index.rb?1171520140.txt
にて、403を返すようにしても延々POSTし続けて、実にうざい。全て失敗するのでたいした害はないが、いいことは全くない。
…というわけで、TCP/IPレベルで接続を蹴ることにした。これでaccess.logも少々すっきりするだろう。

* deny from 66.232.96.0/19

#掲示板spam対策
 連投がウザイ(*)ので、丸ごと.htaccessでBBSから排除。

$ cat /var/log/apache/access.log | grep POST | grep 66.232 | grep '16/Feb' | cat -n | tail -1
139 66.232.113.98 - - [16/Feb/2007:22:49:40 +0900] "POST ttp://baku.homeuni
x.net/BBS/BBS.cgi HTTP/1.0" 403
 2月16日だけで139件かよ…。

 この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"host.a1hosting4u.com")。

$ whois  66.232.118.177

Country:    US

NetRange:   66.232.96.0 - 66.232.127.255
CIDR:       66.232.96.0/19

*連投の例
(ReadMore...)

* deny from 72.232.0.0/16 他

#掲示板spam対策
#xxx.xxx.xxx.xxx.reverse.layeredtech.com
deny from 72.232.0.0/16
deny from 72.36.128.0/17
deny from 72.21.32.0/19

↓のような、ろくでもないアクセスしかないので、掲示板等では.htaccessにて排除。
2007/02/15,19:56:49,72.36.200.58,"underpt.org","-","-",GET,"/WiKi/rnx/index.rb","","1.1",403
2007/02/15,19:56:50,72.36.200.58,"underpt.org","-","-",GET,"/WiKi/rnx/","","1.1",403
2007/02/17,01:14:48,72.232.56.194,"194.56.232.72.reverse.layeredtech.com","-","-",GET,"/BBS/BBS.cgi","","1.1",403


$ whois 72.36.200.58

OrgName:    Layered Technologies, Inc.
Country:    US

NetRange:   72.36.128.0 - 72.36.255.255
CIDR:       72.36.128.0/17
NetName:    LAYERED-TECH-

* 色々な掲示板spam

#掲示板spam対策 #Web
 うちの掲示板へ書き込みを試みたspam投稿ロボットの形跡を挙げる。
(ReadMore...)

* 公認spammerに埋め尽くされてるヤフオク

#ヤフオク
 「ストア」は何点出品しようが(制限内なら)手数料がかからないから、元を取ろうとうじゃうじゃ出品していて激しく邪魔だ。

http://baku.homeunix.net/program/yah2/yah.rb?search=&extract_spam=yes&extract_spam_scan_noimg=yes&url=http%3A%2F%2Flist.auctions.yahoo.co.jp%2Fjp%2F2084039542-category-leaf.html%3Fmode%3D2%26s1%3Dend
オークション / コンピュータ / パーツ / ケーブル、コネクタ / その他
OriginalPage : http://list.auctions.yahoo.co.jp/jp/2084039542-category-leaf.html?mode=2&s1=end

1 / 80 ( 1993 )
(中略)
30 : netshop_one
32 : nature_net_shop
36 : komugi18
80 : m_aica
85 : tokyo_wave777ac
139 : bitcafeosaka
189 : enzandenki
218 : hobbesshop
234 : different_2005jp

 以上で、計1043点。カテゴリの全出品の5割を占めている。

(YAHのバグでページをまたぐ品を計上しているため、少し誤差があるが、まぁ、誤差の範囲)