備忘録
今回はSQLインジェクションなのでユーザー名とパスワードを入力するだけ!
問題を見るとリンクがあるので飛んでみる。
この問題はSQLインジェクション不要で単純にテーブルから値を取得するだけ
問題を解くと、ステージ2のURLが表示されるので飛ぶ。
パスワードが不明のため、一般的なSQLインジェクションを試してみる。
パスワード部分に'OR'a'='aを入力することで、サーバ側で'と'の間に入力値が格納される。
つまり、サーバ側では
' 'OR'a'='a'
となり、'a'='a'によりTrueが常に成立する
別解としてuser名に以下を入力しても突破できる!
'OR 'a'='a' ; --
この場合は、;がSQL文の改行を意味し、- -で後続をコメントアウトするのでパスワードの認証をバイパスできる!
ただし、パスワードの入力欄が空だとエラーチェックが働くので何か文字を入力しておく必要がある。
この方法でパスワード認証をバイパスすると以下のようにWarningが表示される。
今回は基本的なSQLインジェクションの知識だけで解ける問題でした!





