みなさんこんにちは!おさかなです!
今回は「Beginners’ SQLi」について、書いていこうと思います!
それでは、レッツゴー!!!!!
・SQLの学習をしたい方
・CTFの問題を解きたい方
・SQLを活用したい方
SQL問題を進めよう!
SQL問題のステージ3にもチャレンジしたい!
よしっ!今回から新しいSQL構文も出てくるから、ファイト🚩
目指せ!SQLマスター!
事前準備
「Beginners’ SQLi」って何?という方、アカウントの作成がまだの方は、こちら!
ステージ2の攻略方法も解説しております!
ステージ3を解いてみよう!
問題のチェック
それでは早速サイトにアクセスします!
今回は「ステージ3」の解き方について、わかりやすく解説していきたいと思います!
こんな感じの問題です!
「Where is my partner?(私のパートナーはどこですか?)」というタイトルで、「Make two tables into one view.(2つのテーブルを1つに)」とあります。
リンクを開いてみると、こんな感じです!
ステージ1、2とは違って、既に2つのデータベースが表示されている状態ですね。(ふむふむ…。)
「flag_left」と「flag_right」テーブルを結合させる方法がわかれば、FLAGを入手することができそうです…!✨
結合って何…?という方は下記サイトが参考になるかも!?
内部結合のきほん
今回使用するSQL文「内部結合」は、こちらのサイトが参考になります!(おー!)
基本構文はこんな感じ。
SELECT カラム名 FROM テーブル名 INNER JOIN テーブル名 ON 結合条件;
構文に当てはめて情報を入れてみるとこんな感じです!(よいしょっ!)
カラム名は「*」、テーブル名「flag_left」と「flag_right」を2つを入力して、結合条件は「idの一致」という具合に記述してみました。
SELECT * FROM flag_left INNER JOIN flag_right ON flag_left.id = flag_right.id
上記のSQL文を入力してみると…?
FLAGを炙り出すことができました!(わーい!)
回答ページに戻って、FLAG「m1z0r3{J4p4n3s3_wariin}」を入力してみると…?
無事にクリアできました!!(おめでとう🎉)
もっとレベルアップしたい方は、ステージ4にも挑戦してみてください🚩
SQLを極めちゃおう~!
これで全ての操作は完了です。(やった~!)
お疲れ様でした☕
ここまで読んでくださり、ありがとうございました!