Professional Documents
Culture Documents
Ejemplo
txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " +
txtUserId;
Nombre de usuario:
John Doe
Contraseña:
myPass
Ejemplo
uName = getRequestString("username");
uPass = getRequestString("userpassword");
Resultado
SELECT * FROM Users WHERE Name ="John Doe" AND Pass
="myPass"
Nombre de usuario:
Contraseña:
Resultado
SELECT * FROM Users WHERE Name ="" or ""="" AND Pass
="" or ""=""
Ejemplo
SELECT * FROM Users; DROP TABLE Suppliers
Ejemplo
txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " +
txtUserId;
Y la siguiente entrada:
Resultado
SELECT * FROM Users WHERE UserId
= 105; DROP TABLE Suppliers;
Use los parámetros de SQL para la
protección
Para proteger un sitio web de la inyección SQL, puede usar
parámetros SQL.
Otro ejemplo
txtNam = getRequestString("CustomerName");
txtAdd = getRequestString("Address");
txtCit = getRequestString("City");
txtSQL = "INSERT INTO Customers
(CustomerName,Address,City) Values(@0,@1,@2)";
db.Execute(txtSQL,txtNam,txtAdd,txtCit);
Ejemplos
Los siguientes ejemplos muestran cómo crear consultas
parametrizadas en algunos lenguajes web comunes.
txtNam = getRequestString("CustomerName");
txtAdd = getRequestString("Address");
txtCit = getRequestString("City");
txtSQL = "INSERT INTO Customers
(CustomerName,Address,City) Values(@0,@1,@2)";
command = new SqlCommand(txtSQL);
command.Parameters.AddWithValue("@0",txtNam);
command.Parameters.AddWithValue("@1",txtAdd);
command.Parameters.AddWithValue("@2",txtCit);
command.ExecuteNonQuery();