Hola, compañeros de geeks.
Bueno quisiera dejar unos tips para aquellas personas que deseen probar, conocer y demás acerca de esta técnica, como mencione en mi post anterior, esta vulnerabilidad va mas ligada a la forma en que los desarrolladores hacen su trabajo.
Tip 1.
Primero dejar el link de un vídeo en msdn del señor Todd Miranda
How Do I: Prevent a SQL Injection Security Flaw in an ASP.NET Application?
En este vídeo nos muestran con lujo de detalles con realizar un ataque con esta técnica y también como podemos prevenirla.
A modo de dato se recomienda desconfiar de toda la data que se puede ingresar en nuestra aplicación, por medio de cajas de texto y demás controles que nos permiten capturar datos de los usuarios.
Tip 2.
Segundo es dejar el enlace de un articulo llamado.
How To: Protect From SQL Injection in ASP.NET
en este articulo podemos ver las distintas técnicas de desarrollo que podemos usar para limitar esta vulnerabilidad en nuestras aplicaciones.
Básicamente las técnicas son:
- Validar y restringir cada campo, por ejemplo no permitir que en un campo de números, se diligencie con letras.
- Usar procedimientos almacenados con parámetros.
- usar parámetros en las sentencias SQL. (un ejemplo del articulo)
1: using System.Data;2: using System.Data.SqlClient;3:
4: using (SqlConnection connection = new SqlConnection(connectionString))5: {
6: DataSet userDataset = new DataSet();7: SqlDataAdapter myDataAdapter = new SqlDataAdapter(8: "SELECT au_lname, au_fname FROM Authors WHERE au_id = @au_id",9: connection);
10: myCommand.SelectCommand.Parameters.Add("@au_id", SqlDbType.VarChar, 11);11: myCommand.SelectCommand.Parameters["@au_id"].Value = SSN.Text;12: myDataAdapter.Fill(userDataset);
13: }
- ………
Bueno espero que sea de utilidad, y les recomiendo ver el video, es muy bueno.
Romny