Вы находитесь на странице: 1из 4

2012

Grupo ISIMA Armando Antonio Trejo Morales

TAREA1: SQL INJECTION

[TAREA1: SQL INJECTION] April 2, 2012 SQL Injection en MySQL Qu es y cmo evitarlo? Inyeccin SQL es una vulnerabilidad informtica en el nivel de la validacin de las entradas a la base de datos de una aplicacin. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con cdigo SQL. Es, de hecho, un error de una clase ms general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programacin o de script que est incrustado dentro de otro.

Una inyeccin SQL sucede cuando se inserta o inyecta un cdigo SQL invasor dentro de otro cdigo SQL para alterar su funcionamiento normal, y hacer que se ejecute maliciosamente el cdigo invasor en la base de datos. (Mas en Wikipedia) Bueno pues ya que sabemos mas o menos que es SQL Injection, siempre es bueno saber cuales son las formas mas comunes de ataques para poder probar nuestras aplicaciones y asi evitar cualquier posible ataque por este mtodo. Para eso en Ha.Ckers.Org nos muestran una guia de referencia con las tcnicas de SQL Injection ms utilizadas y a que bases de datos afecta. Como por ejemplo las mas comun: 1 OR 1=1 disponible para MySQL o \; DESC users; disponible en mySQL y SQL Server.

php | Escrito el 21 de Enero del 2010, hace 803 das | Compartir en: Cuando habl sobre los ataques de Black Hat SEO, os cont muy por encima que es un ataque por SQL Injection. Pues hoy vamos a ver una forma de evitarlos. Qu es un ataque por Inyeccin SQL? Con un ataque de este tipo lo que intentan es conseguir la informacin que

Armando Antonio Trejo Moralws | Grupo ISIMA

[TAREA1: SQL INJECTION] April 2, 2012 almacenamos en nuestra base de datos, modificarla o incluso eliminarla. Para ello localizan archivos a los que les pasamos variables a travs de GET o POST. Vamos a ver un ejemplo, si tenemos un archivo con una query de este estilo: &query='DELETE * FROM noticias WHERE id="'.$_GET['id'].'"'; En un archivo llamado noticias.php y le pasamos el parmetro id por la url (get), podrn atacarnos llamando al archivo y modificando los parmetros a pasarle: noticias.php?id=12" OR 1="1 Si volvemos a la query, veremos que con los nuevos parmetros, esta quedara as: &query='DELETE * FROM noticias WHERE id="12" OR 1="1"'; Por lo que modificaran nuestra query, hacindola siempre posible, pues 1 es igual a 1, por lo tanto eliminara todas las noticias de nuestra tabla, cuando nosotros lo que queramos era eliminar una nica noticia. En el caso de pasar las variables por POST tambin sera posible el ataque, pues aadiran el cdigo malicioso en un campo del formulario dando el mismo resultado. Cmo evitamos un ataque de este tipo? Cmo no queremos que nos arruinen de por vida, vamos a utilizar dos funciones php muy tiles: sprintf y mysql_real_escape_string. Si las aplicamos a nuestra query, quedara as: $query = sprintf("DELETE * FROM noticias WHERE id='%d'",mysql_real_escape_string($id)); Con sprintf damos formato a nuestra sentencia asignando el espacio justo para los parmetros a recoger (%d para un nmero, %s para una cadena, etc) y con mysql_real_escape_string escapamos caracteres especiales, por lo que si nos hicieran el mismo ataque (12 OR 1=1) nos devolvera esto: &query='DELETE * FROM noticias WHERE id="12"'; Cmo vis slo permanece el 12, eliminando el trozo OR 1=1 y evitando as que la consulta siempre sea posible. Pagina de ejemplo y practica de sql injection:
http://ha.ckers.org/sqlinjection/

algunas paginas vulnerables a sql injection:


2 Armando Antonio Trejo Moralws | Grupo ISIMA

[TAREA1: SQL INJECTION] April 2, 2012 http://twitter.com/T_Johannes http://www.flightdecksolutions.com/list_products.php?id=5 http://www.wirelessforums.org/alt-cellular-sprintpcs/minoura-rda-850d-rim-drive-rear-wheeltrainer-60364.html http://www.2005lions.net/lionfeeds/CNC-Lathe-Trainer-|-CNC-Trainer-Lathe-|-CNCLathe-Training-|-CNC-RSS-Blend-by-Feedage.com-6793.html http://www.downtr.net/trainers+php+id+1+039+trainers.php++.php+trainers.php.html http://www.filetransit.com/download.php?id=79307 http://www.gymjones.com/disciples.php?id=12 http://www.2005lions.net/lionfeeds/CNC-Mill-Trainers-|-Educational-Trainers-|-CNClathe-Trainers-|--RSS-Blend-by-Feedage.com-6794.html http://www.mindplaces.com/darkmod/fmdetails.php?id=19 http://groups.yahoo.com/group/brandyarrestedandhandcuffed/message/10499 http://en.wikipedia.org/wiki/Harrison_Ford http://abprogram.net/ab-trainer.php http://secworm.net/forums/showthread.php?tid=1960 http://en.wikipedia.org/wiki/Bernie_Ecclestone

Armando Antonio Trejo Moralws | Grupo ISIMA

Вам также может понравиться