私の紺碧で私は監査と脅威の検出を記録するための監査&脅威検出オプションを有効にしたという点でSQLデータベースを作成しました。監査と脅威検出オプションを有効にした後、Azure SQLデータベースで脅威検出イベントをテストする方法はありますか?
私がazure SQLデータベースで行ったことの詳細については、下の図を参照してください。
私は、SQLインジェクションの脅威を検出するための私のコントローラで以下のコードを書きました。
public List<UsersTable> GetUsersTablebyUserName(string username)
{
SqlCommand sqlCmd = new SqlCommand(
"SELECT * FROM UsersTables WHERE UserName='" + username +"'",
new SqlConnection(connectionString.ToString()));
UsersTable userInfo = null;
List<UsersTable> userInfoList = new List<UsersTable>();
using (sqlCmd.Connection = new SqlConnection(connectionString.ToString()))
{
try
{
sqlCmd.Connection.Open();
SqlDataReader reader = sqlCmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
userInfo = new UsersTable()
{
ID = (int)reader[0],
UserName=reader[1].ToString(),
Password=reader[2].ToString()
};
userInfoList.Add(userInfo);
}
}
else
{
return userInfoList;
}
}
catch (Exception ex)
{
throw;
}
}
return userInfoList;
}
上記のコードを正常に実行した後、私はazure portalからログをダウンロードし、下の図のようにexcelで開きます。私はテストまたは「1」= '1のようにユーザ名を渡したとしても
が、それはそれは常に成功としてアクセス状態を示して、私のログに脅威検出を追跡しません。
脅威の検出が発生した場合、または誰かが上記のクエリにのテストまたは '1' = '1のようなテキストを渡す場合、どのように表示するかを教えてください。
よろしく、
プラディープ