おさらい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インジェクションで答えを求めてみましょう。
今回は以下の記事を参考にさせていただきました。
無事答えを求めることができました!お疲れ様でした。
この記事が気に入ったらサポートをしてみませんか?