- 掲示板へのspam投稿が、久々にチェックをすり抜けた
- RandomNoteの検索用クローラ対策
- GETでspamを投稿する奴への対策
- RandomNoteの敵はspam投稿用クローラ
- iptablesのリストが消えたら、spamが急増した
- (文字の画像による)CAPTCHA関連 メモ
- 100万点のspam出品
- リファラspam?
- 掲示板spam対策いろいろ
- iptables -L
- iptables -A INPUT -s 66.232.96.0/19 -j DROP
- deny from 66.232.96.0/19
- deny from 72.232.0.0/16 他
- 色々な掲示板spam
- 公認spammerに埋め尽くされてるヤフオク
* 掲示板へのspam投稿が、久々にチェックをすり抜けた
#掲示板spam対策 #Web
name="mail"なのにURLを書いてきたのは、狙ってのことか?!
(ReadMore...)
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していく。
こっちにもあっちにも無駄な負荷がかかる、とても不幸なことだ。
ただし、spam投稿用クローラが心配。textもtextareaもないのにPOSTする馬鹿がいるかもしれない、と危惧している。
ロボットか?の判断は、user_agentにhttp:が入っているかどうか。
さらに、ロボットに送るデータ量が減るという恩恵もあった。無駄なデータが減るのは、互いにとって有益だ。
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検索が行われ、最近の検索ワードがめちゃくちゃになる。
…というわけで、とりあえず、超やっつけで対策。
(ヘッダとフッタは返す)
(ReadMore...)
後述のように、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
対策が必要とは思ってるのだけど、たまにしかないし、投稿その物は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...)
* iptablesのリストが消えたら、spamが急増した
#掲示板spam対策
apacheのアクセスログを眺めてみたら、spam投稿---BBSおよびこのWikiもどきへの---がやたらに増えいていた。
瞬停(たぶん)によりリセットがかかり、iptablesの設定がまっさらになったことが原因だろう。
iptables-saveしたのは3月だから、それ以降に追加したのは藻屑となったけど、まるっきりフィルタが無いよりもマシになると期待。
改めて、ログとiptables -Lを見比べると、TCP/IPレベルで蹴っていたはずの接続が沢山あった。
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
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と出品数のリストを、出品数の多い順にソートし、上位の総出品数を算出した。
100点以上出品しているIDが 1361 あり、それらの総出品数は 1087596 --- 108万点 であった。
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を使って普通に閲覧したように見えるが、色々不自然。
リファラにあるページはコスプレ衣装の販売サイトのナコルルの衣装。
リファラspamって、効果あるのかねぇ? 関連する単語による検索で引っかかるページに関連する内容のページのリファラにてspamってのは無差別よりも効果的とはいえ…。
リファラを公に表示するWebページってHNSによる日記ぐらいしか思い浮かばない。…訂正。tDiaryによるblogもあるな。HNSよりもずっと多そうだ。
あるいは、サイト管理者が「アクセス解析」からアクセスする事を期待しているのかな?だとすれば、わざわざ画像にもアクセスしていることの説明にもなる。
リファラ周りのバグという線は、たぶん、無いと思う。Windows版IE6.0にそんなバグは無い…はず。
まず、繰り返しになるけど、アクセス間隔がほぼ1秒おき(画像を含め、ファイルサイズ問わず)ってが猛烈に胡散臭い。また、ほぼ同じアクセスが2回繰り返されてたのは謎だが、人間のアクセスっぽくなく、やはり胡散臭い。(以下では片方しか挙げていない)
以下は当該ログ
(ReadMore...)
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対策いろいろ
* iptables -L
#Web #掲示板spam対策
迷惑なアクセスをしてくる連中は、TCP/IPレベルで弾くことにした。
いちいちHTTPに応答するのもかったるい。
迷惑なアクセスをしてくる連中は、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
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から排除。
この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"host.a1hosting4u.com")。
*連投の例
(ReadMore...)
連投がウザイ(*)ので、丸ごと.htaccessでBBSから排除。
$ cat /var/log/apache/access.log | grep POST | grep 66.232 | grep '16/Feb' | cat -n | tail -12月16日だけで139件かよ…。
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
この範囲の人がこのサイトを見て更に掲示板に書き込みを行おうとする可能性は、無視してもいいだろう。個人向けプロバイダでもなさげな雰囲気だし(唯一逆引きできたアドレスのホスト名は"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対策
↓のような、ろくでもないアクセスしかないので、掲示板等では.htaccessにて排除。
#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
* 公認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のバグでページをまたぐ品を計上しているため、少し誤差があるが、まぁ、誤差の範囲)
「ストア」は何点出品しようが(制限内なら)手数料がかからないから、元を取ろうとうじゃうじゃ出品していて激しく邪魔だ。
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のバグでページをまたぐ品を計上しているため、少し誤差があるが、まぁ、誤差の範囲)