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というアルゴリズムでハッシュ値を作成しているみたい。

あとは、ツールとかでハッシュ値を平文に直すだけ。


今回は、かなり苦戦しました。