qpopper
ハッキングの目的:
qpopper を使って、ログインアカウントのないメールアカウントを発行する。
なお、パスワードファイルは WWW でよく使う htpasswd ファイルを
メールアカウントとして利用します。
動作を確認した環境:
Solaris 2.5 + qpopper 2.53
Solaris 2.6, Solaris 7 でも動作するかもしれない。
他の OS でも、ソースを少し修正すれば動作可能だと思う。
コンパイル&インストール:
- qpopper 2.53 をダウンロードして展開する。それ以外でのバージョンで
動作するかどうかは未確認ですが、おそらく大丈夫だと思います。
- pop_getpwnam.c(3/8,1999 版) を
qpopper のソースツリーに保存する。
- configure
- Makefile の修正:
CSRCS に pop_getpwnam.c を追加
OBJS に pop_getpwnam.o を追加
O_DEFS に -Dgetpwnam=pop_getpwnam -Dgetspnam=pop_getspnam
を追加
- pop_getpwnam.c を必要に応じて修正する。
- make
- "pop" という名前のユーザアカウントを作成する。このアカウントでは
login したり ftp したりできないようにしておくこと。
- 後は通常通り popper をインストールする。
メールアカウントの発行:
- 今から作成するメールアカウントを、例として以下のようにします。
ユーザ名: foo
パスワード: baz
- メールボックスを用意します。
% touch /var/mail/foo
% chown pop:daemon /var/mail/foo
% chmod 660 /var/mail/foo
- /etc/mail/aliases の修正 (Solaris 以外では /etc/aliases)
foo: /var/mail/foo
という行を追加します。
% newaliases
- パスワードファイルの作成。
パスワードファイルは apache 付属の htpasswd コマンドを用います。
初めてパスワードファイルを作るときは、
% htpasswd -c /etc/pop-passwd foo
メールアカウントを追加したり、パスワードを変更するときは、
% htpasswd /etc/pop-passwd foo
とします。ここでパスワード (この例では baz) を入力します。
なお、キュリティ上、パスワードが一般ユーザに読めなくするために、
% chmod 400 /etc/pop-passwd
のようにしておくことを勧めます。
- これで終了です。
注:
/etc/pop-passwd
にアカウントが登録されていれば、その
アカウントとパスワードが用いられます。もし、/etc/pop-passwd
に登録されていない場合は /etc/passwd
あるいは NIS による
パスワードが適応されます。
なお、ここにも書きましたが、
本改造版を用いて、いかなる障害がおきても私は一切の責任を負いません.