hackme(Level3)ネタばれ注意
Level3は苦戦しました。
Level2と同じように、sqlインジェクションでいけるかもと思ったがダメだった。
とりあえず、ソースを見てみよう。form付近のソースを抜き出して見た。
<form action="/Lv3/login?page=template/login.html" method="post"> <table> <tr> <td>ID:</td> <td><input type="text" name="name" value="" /></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="password" value="" /> </td> </tr> </table> <br /> <input class="large_button" type="submit" value="ログイン" /> </form>
ディレクトリトラバーサル攻撃というものがあるらしい。
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%83%88%E3%83%A9%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB
action="/Lv3/login?page=template/login.html"と指定しているので、ここに適用するしかない。
おそらくOSは、Linuxだから、パスワードファイルを解析してみる。
../etc/passwdに切り替えるとpasswdファイルの中身が表示された。表示された内容の一部は、
下記のようになっている。
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh
passwdファイルの中身については、このサイトに解説がありました。
http://kazmax.zpp.jp/linux_beginner/etc_passwd.html#ah_1
rootのパスワードは、暗号化されているのでshadowファイルを参照しないといけないが、存在しない。linuxじゃないのかも。
FreeBSDだ。/etc/master.passwdがlinuxのshadowファイルに当たるらしい。
http://www.wakhok.ac.jp/~kanayama/summer/02/site/node191.htmlを見ると
$1$となっているとMD5というアルゴリズムでハッシュ値を作成しているみたい。
あとは、ツールとかでハッシュ値を平文に直すだけ。
今回は、かなり苦戦しました。