見出し画像

おさらいnote~第11回#6 Login~

こんにちは。宮下です。
今回は6問目のLoginを解いていきたいと思います。
よろしくお願いします!!(今回は解ききれなかったので解き方だけです。)

問題把握

配点:120
問題文:URLがひとつ。開くとログイン画面が出てきます。
問題はこちらから

解いてみる

とりあえず開いてみます。
ログイン画面のようですね。これは私のおさらいnoteで前やりました、SQLインジェクションでしょうか…!!!

以下のようにログインしてみましょう。
ID : admin
pass : pass=' or 'a' = 'a

全文ではないですが、以下のように出力されました。


Congratulations!
It's too easy?
Don't worry.
The flag is admin's password.


おめでとう!だけどこれじゃ答えはでねぇ!
フラグはadminの本当のパスワードだ!!!
と言っています笑

となると、今度はブラインドSQLインジェクションで総攻撃を行って答えを出せばよさそうですね。
こちらも以前のおさらいnoteで取り扱ったのでぜひ!

まず、パスワードの文字数を特定します。

admin' AND (SELECT length(pass) FROM user WHERE id='admin') = 21; --

何回か試行した結果、21文字だとわかりました。ctfの答えはFLAG_から始まるので実際特定する文字数は16文字ですね。

一応確認しましょう。

pass=' or pass like 'FLAG_%

同じように攻撃が成功していると思います。
では実際にブラインドSQLインジェクションで答えを求めてみましょう。
今回は以下の記事を参考にさせていただきました。

無事答えを求めることができました!お疲れ様でした。


この記事が気に入ったらサポートをしてみませんか?