【Beginners’ SQLi】「ステージ3」の攻略方法とは?!わかりやすく解説!

テクノロジー
スポンサーリンク

みなさんこんにちは!おさかなです!

今回は「Beginners’ SQLi」について、書いていこうと思います!

それでは、レッツゴー!!!!!

想定読者
・SQLの学習をしたい方
・CTFの問題を解きたい方
・SQLを活用したい方

SQL問題を進めよう!

おさかな
おさかな

SQL問題のステージ3にもチャレンジしたい!

ナビまる
ナビまる

よしっ!今回から新しいSQL構文も出てくるから、ファイト🚩

おさかな
おさかな

目指せ!SQLマスター!

https://osakanav.com/hack-me-lv1

事前準備

「Beginners’ SQLi」って何?という方、アカウントの作成がまだの方は、こちら!

https://osakanav.com/beginners-sqli-stage1

ステージ2の攻略方法も解説しております!

https://osakanav.com/beginners-sqli-stage2

ステージ3を解いてみよう!

問題のチェック

それでは早速サイトにアクセスします!
今回は「ステージ3」の解き方について、わかりやすく解説していきたいと思います!

こんな感じの問題です!
「Where is my partner?(私のパートナーはどこですか?)」というタイトルで、「Make two tables into one view.(2つのテーブルを1つに)」とあります。

リンクを開いてみると、こんな感じです!
ステージ1、2とは違って、既に2つのデータベースが表示されている状態ですね。(ふむふむ…。)

「flag_left」と「flag_right」テーブルを結合させる方法がわかれば、FLAGを入手することができそうです…!✨

結合って何…?という方は下記サイトが参考になるかも!?

https://tech.pjin.jp/blog/2021/03/31/%e3%80%90sql%e5%85%a5%e9%96%80%e3%80%91%e7%b5%90%e5%90%88%e3%81%a8%e3%81%af/

https://osakanav.com/i-have-been-pwnd-security

内部結合のきほん

今回使用するSQL文「内部結合」は、こちらのサイトが参考になります!(おー!)

https://tech.pjin.jp/blog/2021/03/31/%E3%80%90sql%E5%85%A5%E9%96%80%E3%80%91%E5%86%85%E9%83%A8%E7%B5%90%E5%90%88%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%A7%8B%E6%96%87/

基本構文はこんな感じ。

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にも挑戦してみてください🚩

https://osakanav.com/beginners-sqli4

おさかな
おさかな

SQLを極めちゃおう~!

これで全ての操作は完了です。(やった~!)
お疲れ様でした☕

https://osakanav.com/aspire

ここまで読んでくださり、ありがとうございました!

おさかな

文章が書けちゃう、新種のおさかなです。元不登校。紆余曲折あり、現在はフリーライターとして活動中。化粧品検定2級。IT、サブカルチャー、ファッション、コスメ、グルメ、シナリオまで色々書きます。SAOのユウキが好きです!

おさかなをフォローする

タイトルとURLをコピーしました