クエリを使用して SQL インジェクションのデモを試みていUNION
ますが、結果が得られません。
これは C# コードで、データベースは SQL Server 2008 R2 です。
SqlConnection conn = new SqlConnection(cString);
conn.Open();
string sql = "select * from Users where UserName='" + userName
+ "' and Password='" + password + "'";
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
SqlDataReader reader = cmd.ExecuteReader();
StringBuilder sb = new StringBuilder(1024);
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
sb.Append(" " + reader.GetName(i));
sb.Append(": ");
sb.Append(reader[i]);
}
sb.Append("<br />");
}
dataLabel.Text = sb.ToString();
ユーザー名とパスワードのテキスト ボックスがあり、入力はこのメソッドに渡されます。
私は次のことを試しましたが、結果はありませんでした:
'UNION SELECT * FROM products --
Users
テーブルとテーブルのProducts
列の型が同じです ( int, nvarchar, nvarchar
)。
誰か助けてくれませんか?私は何が欠けていますか?