Shikata Ga Nai

Private? There is no such things.

WEBGOATでA1-SQL Injection(intor)1

Hello there

 

A1 ⇨ SQL Injection(intor)を選択して。

ステップ1には、SQLがどのように機能するかについて説明すると書かれており。

 

f:id:ThisIsOne:20191226143818p:plain

 

ステップ2では、サンプル表を見て。

従業員Bob Francoの部門を取得してみてくださいと。

認証はないとのこと。

下記のSQL文を実行してみた。

 SELECT department FROM employees WHERE first_name = 'Bob';

 

f:id:ThisIsOne:20191226142427p:plain

 

ステップ3では、データ操作について書かれているようで。

DMLコマンドは以下のとおりでして。

 SELECT:データベースからデータを取得

 INSERT:テーブルにデータを挿入

 UPDATE:テーブル内の既存データを更新

 DELETE:テーブルからすべてのレコードを削除

 

Tobi Barnettの部門を『Sales』に変更して下さいとのこと。

下記のSQL文を実行してみた。

 UPDATE employees SET department = 'Sales' WHERE first_name = 'Tobi';

 

f:id:ThisIsOne:20191226142524p:plain

 

ステップ4では、データベーススキーマの定義について書かれており。

DDLコマンドは以下のとおりでして。

 CREATE:データベースとオブジェクトを作成

 ALTER:データベースの構造を変更

 DROP:データベースからオブジェクトを削除

 

列 "phone"(varchar(20))をテーブル "employees"に追加して下さいとのことで。

下記のSQL文を実行してみた。

 ALTER TABLE employees ADD COLUMN phone varchar(20);

 

f:id:ThisIsOne:20191226142747p:plain

 

ステップ5では、アクセスして操作について書かれており。

DCLコマンドは以下のとおりでして。

 GRANT:ユーザーにデータベースへのアクセス権限を許可

 REVOKE-GRANT:与えられたユーザーのアクセス権限を取消

 

"UnauthorizedUser"グループにテーブル変更する権限を付与してくださいとのことで。

下記のSQL文を実行してみた。

 GRANT ALTER TABLE TO UnauthorizedUser;

 

f:id:ThisIsOne:20191226142930p:plain

 

あまり開発経験がなくても。

最低、このくらいのSQLについては理解してからと言っているような。

とても親切丁寧なツールのように思えて。

 

Best regards,