パスワードを平文で保存しとくのはもってのほかだけども、ハッシュ化してれば見られても安心かというとそうでもない。
パスワードクラッカーのJohn the Ripperを使うと簡単なパスワードはハッシュ化しててもすぐにばれてしまう。
# aptitude install john -y # passwd kamipo Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully # john -users:kamipo /etc/shadow Loaded 1 password hash (FreeBSD MD5 [32/64 X2]) perl (kamipo) guesses: 1 time: 0:00:00:51 (3) c/s: 9644 trying: perd - perl
このように、たったの51秒でパスワードが「perl」であることがバレてしまった。
# htpasswd -c .htpasswd kamipo New password: Re-type new password: Adding password for user kamipo # john .htpasswd Loaded 1 password hash (Traditional DES [64/64 BS]) pixiv (kamipo) guesses: 1 time: 0:00:00:44 (3) c/s: 938872 trying: pichw - pixt8
こっちも44秒でパスワードが「pixiv」であることがバレてしまった。
shadowファイルはroot権限を持ってないと参照できないけど、.htpasswdファイルはWebサーバのBasic認証に使ってるときにうっかり設定ミスって普通に参照できたりなんかすると、簡単なパスワードだとものの1分ぐらいでバレてしまって秘密の小部屋に侵入されてしまう!
ちなみに僕のパスワードは4秒でクラックされました\(^o^)/
取り急ぎ文字数増やしたり大文字小文字数字まぜるだけでパスワードの強度は上がるので、みんなもパスワードの扱いには気をつけてね!
(ほんとは「oppai」ってパスワードでデモろうと思ったら35分以上経ってもクラックできなかった…)