MTパスワード紛失対応方法 in SQLite

朝出社したら、なんだかIEの調子がおかしい。
起動時は社内グループウェアをホームページとしていて、そのローカルアドレス内でなら異常はないのだけれど、他のドメインへ移動しようとするとなぜかウィンドウが二個開いてフリーズする。リンクからでもお気に入りからでもだ。
とりあえずキャッシュかクッキーが悪さしてるのかと思って全削除するも直らず。コリャしゃーねーなと思ってFirefoxメインで作業を進めるもエラいことに気がつく。
現在構築中だったローカルMTのパスをIEのクッキーに預けっぱなしで、そのパスをメモっていなかった。


パスワード紛失\(^o^)/


迷走

とりあえず落ち着いて、MT本来のパスワード再発行機能を使おうとすると、ローカルのApachはSendmailモジュールを入れていなかったため、まずSendmailモジュールのインストールに四苦八苦することになる。
なぜかPPMからリモートリポジトリのモジュールがインストールできないのだ。500エラーが出て弾かれる。要するに外部インターネットのファイルが見れない状態。
あーだこーだ探したところ、もしやと思ってワクチンソフトを無効にしたら…PPMが読み込んでくれるようになるも、なぜかSendmailという超メジャーなモジュールをどのリポジトリも扱っていない。カス過ぎる。
結局のところ、ローカルに直接モジュールファイルをDLし、そこから読むことでインスコロール成功。
ところがドッコイ、MTからのメール送信がうまくいかない。

奇跡の反撃

もうお手上げと思った瞬間、ハンサムなカブキは突如解決のアイデアがひらめく。

「DBの中身直接いじっちまえばいいじゃねえか!」

しかしMySQLはともかくとして、コイツはSQLiteを使っている。SQLiteの中身を見たことなんてなかったので探してみたところ、「SQLite Mnager」というFirefoxプラグインがあると発覚。さっそくゲットしてみると見事にSQLiteDBの中身をひん剥いてくれた。

遂にパスワードの中身が見れた…!ということで入力をしてみると見事に弾かれる。ああ、そうか、DB内のパスワードは当然暗号化されているわけだ、と気づく。DBの値に入力してもそれ自体が暗号パスとなってしまうため、実際のパスワードがどうなっているのか見当がつかない。1文字だけ入力しても当然暗号化されているし、空っぽにしたらMT側がログインに対して反応しなくなった。
そしてカブキは、考えるのを ---- やめそうになったが、ハンサムなカブキは突如解決のアイデアが再びひらめく。

MT+SQLiteなら、全て同じ方式で暗号化されているはずッ!

同様の環境で作っている別MTのDBを覗いてみたら…案の定暗号パスが入っている。そしてッ!暗号パスをコピーしッ!パス忘れた方のDBへ…突っ込みッ!別MTの暗号前パスでログインし抜けるッ!
WRYYYYYYYYYYYY!!!!

やったッ!さすがカブキ!諦めかけたことを何とかやってのけるッ!そこにシビれる憧れるゥ!



とか1部DIOばりのノリでは分からないと思うので簡単に例解説


PW:owata →暗号化→ honyarara
となっている場合、「honyarara」を取って来て、PW忘れた側のDBに直接ブチ込めばPW「owata」でログインできるという寸法です。



ああ無駄に疲れた。
まぁアレだよね、パスワードはちゃんと保管しましょうね。