Algunas formas de evitar la Inyección SQL
Enviado por crash1000 • 16 de Abril de 2013 • 244 Palabras (1 Páginas) • 406 Visitas
Algunas formas de evitar la Inyección SQL
En el lenguaje php, hay diferentes funciones que pueden servir de ayuda para usar con distintos Sistemas de gestión de base de datos. Para MySQL, la función a usar es mysql_real_escape_string: La cual Escapa de los caracteres especiales de una cadena para su uso en una sentencia SQL.
Nota:
Al escapar de los caracteres especiales los convierte en String en vez de ser tratados propios del lenguaje para que no puedan ser dañinos.
Por ejemplo, para el caso concreto de PHP y MySql, se utilizaría la siguiente función, que coloca barras invertidas antes de los siguientes caracteres para evitar la inyección: \x00, \n, \r, \,‘, “ y \x1a:
El programador web medio, o quien fuera el desarrollador de ese script, en principio busca funcionalidad en la aplicación, es decir, que obtenga simplemente el resultado esperado o la acción. Luego intentará obtener un mejor diseño visual, que luzca bien ante los ojos del usuario. Recién por último se preocupará por la seguridad y cómo aplicarla de modo correcto. Es allí cuando nace el descuido, ya que generalmente implementa sólo algunas comprobaciones en los campos (algo muy normal que enseñan en los cursos de programación).
Otras clases de inyección
Las hay del tipo ORM, LDAP, XML (hacking SOAP), SSI, XPATH, e IMAP/SMTP. Podemos ob- tener más información en los siguientes sitios: www.owasp.org/index.php/Testing_for_OR- M_Injection, www.owasp.org/index.php/Testing_for_LDAP_Injection, www.owasp.org/in- dex.php/Testing_for_XML_Injection y www.owasp.org/index.php/Testing_for_SSI_Injection.
...