SQL injection attack, listing the database contents on non-Oracle databases
はじめに
「SQL injection attack, listing the database contents on non-Oracle databases」のWriteupです。
Summary
- Oracleを除くデータベースでは、全テーブルやそれらの列に関する情報が
information_schema
というデータベースに集約されている - SQLインジェクションを使ってこのデータベースを覗くことで、本来の目的達成に必要な情報を得られる
Writeup
今回の目的は、administratorとしてサイトにログインすることです。これまではテーブル名やカラム名が事前に提示されていましたが、今回それがありませんでした。 information_schema
テーブルを覗く必要があるのだろうと推測できます。
列数確認。3でエラーが出たので2列です。
各列の型確認。どちちらも文字列のようです。
information_schema.tables
の table_name
を確認します。
users_ejvktj
というテーブルがあることが分かりました。
次はカラム名を確認するために、 information_schema.columns
を確認します。 username_idkdew
と password_cfrdue
というカラムがあることが分かりました。
あとはそれぞれのカラムの値を users_ejvktj
テーブルから取得すればOKです。
ログインできました。