qpopper

ハッキングの目的:
qpopper を使って、ログインアカウントのないメールアカウントを発行する。
なお、パスワードファイルは WWW でよく使う htpasswd ファイルを メールアカウントとして利用します。

動作を確認した環境:
Solaris 2.5 + qpopper 2.53
Solaris 2.6, Solaris 7 でも動作するかもしれない。 他の OS でも、ソースを少し修正すれば動作可能だと思う。


コンパイル&インストール:
  1. qpopper 2.53 をダウンロードして展開する。それ以外でのバージョンで 動作するかどうかは未確認ですが、おそらく大丈夫だと思います。
  2. pop_getpwnam.c(3/8,1999 版) を qpopper のソースツリーに保存する。
  3. configure
  4. Makefile の修正:
    CSRCS に pop_getpwnam.c を追加
    OBJS に pop_getpwnam.o を追加
    O_DEFS に -Dgetpwnam=pop_getpwnam -Dgetspnam=pop_getspnam を追加
  5. pop_getpwnam.c を必要に応じて修正する。
  6. make
  7. "pop" という名前のユーザアカウントを作成する。このアカウントでは login したり ftp したりできないようにしておくこと。
  8. 後は通常通り popper をインストールする。

メールアカウントの発行:
  1. 今から作成するメールアカウントを、例として以下のようにします。
        ユーザ名:   foo
        パスワード: baz
  2. メールボックスを用意します。
        % touch /var/mail/foo
        % chown pop:daemon /var/mail/foo
        % chmod 660 /var/mail/foo
  3. /etc/mail/aliases の修正 (Solaris 以外では /etc/aliases)
    foo: /var/mail/foo
    という行を追加します。
  4. % newaliases
  5. パスワードファイルの作成。
    パスワードファイルは apache 付属の htpasswd コマンドを用います。 初めてパスワードファイルを作るときは、
    % htpasswd -c /etc/pop-passwd foo
    メールアカウントを追加したり、パスワードを変更するときは、
    % htpasswd /etc/pop-passwd foo
    とします。ここでパスワード (この例では baz) を入力します。
    なお、キュリティ上、パスワードが一般ユーザに読めなくするために、
    % chmod 400 /etc/pop-passwd
    のようにしておくことを勧めます。
  6. これで終了です。
注:
/etc/pop-passwd にアカウントが登録されていれば、その アカウントとパスワードが用いられます。もし、/etc/pop-passwd に登録されていない場合は /etc/passwd あるいは NIS による パスワードが適応されます。
なお、ここにも書きましたが、 本改造版を用いて、いかなる障害がおきても私は一切の責任を負いません.