- blogs:
- cles::blog
本文がBase64エンコードされたspamへの対策
一部のspamメールをthunderbirdのspamフィルタがちゃんと認識してくれないので理由を探ってみたら本文がbase64エンコードされていたというオチでした。base64のデコード機能を持たないベイジアンフィルタへのささやかな対抗策なのでしょうね。まったく小賢しいことです。
ヘッダはこんな感じになっていました。
charset="iso-2022-jp"
Content-Transfer-Encoding: base64
通常のメーラーからはこんな不届きなメールがくることは無いはずなので、このヘッダをみつけたら無条件でゴミ箱行きでもいいんですが、中身を学習用のデータとして使いたいので、とりあえずこれを何とかデコードしたい。
何かいいものはないかといろいろ探してみたら、昔壊れたmimeの修正に使っていたdelegateに含まれているmimekitのenMime/deMimeがあったことを思い出したのでこれをまた引っ張り出してみることにしました。試しに手元にあったspamに対してdeMime < spammail.txt | enMimeとやってみるとうまく本文がデコードされていました。
† コンパイルに一苦労
なぜか最新版(9.7系)のmimekitはうまくコンパイルできなかったので、delegate8系の最新版でコンパイルすることにしました。
まぁ、mimekit自体はそんなにアップデートされているわけじゃないので問題ないでしょう。
コンパイル手順はこんな感じ
$ tar zxvf delegate8.11.6.tar.gz
$ cd delegate8.11.6/mimekit/
$ vi Makefile
$ CFLAGS=-O2 CC=gcc make
$ su -
# make install
途中でMakefileを編集してますが、これはなぜか../mkcppを探しに行ってこけるのでその部分を削除したためです。
+++ Makefile 2007-09-17 05:14:15.582863520 +0900
@@ -62,12 +62,6 @@
RM = rm -f
DGDIR = ../src/
#endif #############
-#ifdef NONC99 #####################################################
-CCINX = .cc
-CCINOUT = $*$(CCINX)
-MKCPP = ../mkcpp $*.c $*$(CCINX)
-MKMKCPP = ../mkcpp
-#endif #############
これで/usr/local/binにenMimeとdeMimeがインストールされました。
† 後はmaildropから呼び出すだけ
後は配送時にmaildrop経由でフィルタをかけることにします。確かenMime/deMimeはむやみにかけると危なかったような気がするので、あくまで必要なときだけフィルタします。ついでに変換したことがわかるようにX-Maildrop: base64 encodedというヘッダがつくようにしました。
{
xfilter "/usr/local/bin/reformail -I'X-Maildrop: base64 encoded'"
xfilter "/usr/local/bin/deMime"
xfilter "/usr/local/bin/enMime"
}
これでうまくフィルタできるようになってくれるといいんですけど。
このエントリへのTrackbackにはこのURLが必要です→http://blog.cles.jp/item/2195
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
sp-20100315155124644595555@cles.net
- base64 スパム
- Google - 10/03/15 15:26:08
- TransferEncoding メール Base6
- goo - 10/03/09 10:50:30
- base64スパム
- Google - 10/02/26 21:11:05
- Thunderbird content-transfer-encoding
- Yahoo! - 10/02/18 11:58:50
- コインランドリー (4)
- おめでとうございます (4)
- 時間がたっても変わらないもの (4)
- SourceForge.JPのSubversion... (4)
- 知恵の輪 サターン編 (3)
- 和食 小錦 (3)
- XPathのチートシート (3)
- サーバセットアップ (3)
- .inはインドのccTLDなのか (3)
- Thanks ! 10000 Hit ! (3)
2 . やっぱりあった!パクれる読書感想文! [7252x]
3 . Echofon for Firefox [6159x]
4 . 急性胃腸炎 [5565x]
5 . 芸能人の本名。 [5488x]
- CD-ROM起動で、HDDを完全消去
- NP_Moblog v1.16
- pinzoro 01/15
- hsur 12/29
- and more...
- 耳がおかしいと思ったら突発..
- baca 01/13
- hsur 01/13
- and more...
★はてな認証APIをつかってログインすることができます。




