En esta entrada breve y simple, se detallaran los pasos que realizaremos
cuando necesitemos explotar una vulnerabilidad de Sql Injection, que
mayormente se encuentran en algunos servidores basados en SQL Server y
Oracle. Estas vulnerabilidades son típicas en los LOGIN'S
Administrativos, ya que como debemos de saber, que cuando ingresamos el
usuario y password estos datos se envían a través del método POST, por
lo tanto puede existir la posibilidad de que al ingresar datos falsos o
algunos bypasses, esta nos pueda mostrar algún error que nos permita
identificar la vulnerabilidad, por tanto se puede explotar
automatizadamente utilizando SQLMAP ejecutando comandos para enviar la
petición en POST y no en GET como se "acostumbra".
Si no me explique bien, pues al buen entendedor pocas palabras!!! entonces sin mas rodeos, vamos a la acción!
Tenemos un LOGIN en ASP, en la cual no tenemos los datos correctos ni
nada por el estilo, ya que no hemos encontrado ningún tipo de
vulnerabilidad en el servidor que nos brinde estos datos, por tanto como
somos curiosos e inteligentes empezamos a probar datos falsos y algunos
bypasses como el famosillo ' or '1'='1 como se muestra en la imagen
siguiente:
Al visualizar esta vulnerabilidad, somos consciente que se puede
explotar manualmente o automatizadamente, para así obtener los datos que
nos permita logearnos de una manera correcta al servidor.
Ahora, para seguir probando si el LOGIN tiene algún otro tipo de
vulnerabilidad, regresamos al form y dejamos en blanco el usuario y
clave y le cliqueamos en Conectar, la cual el servidor nos muestra lo
siguiente:
¿Algo raro cierto? ¿Por que? ... Este LOGIN nos demuestra que las
peticiones no están validadas, quiere decir que si colocamos algún
bypass, esta nos muestra una vulnerabilidad, como también si dejamos los
form en blanco y cliqueamos en conectar, esta nos permite saltarnos del
login.
Bien, después de haber llegado a unas pequeñas conclusiones sobre que el
servidor tiene una vulnerabilidad en el login y que las peticiones no
están validadas, procederemos a utilizar el Live HTTP Headers para así ver las cabeceras del login al momento que cliqueemos en Conectar.
En este caso después de haber colocado el Live HTTP Headers a
la escucha de lo que pasa por el servidor mientras cliqueamos en
Conectar dejando todo el blanco, esta nos devuelve lo siguiente:
Hemos obtenido 3 datos muy importantes! las cuales son:
- http://www.uap.edu.pe/intranet/logon2.asp
- POST /intranet/logon2.asp HTTP/1.1
- usuario=&pw=&user=07&B7=++Conectar++
La primera es posiblemente la URL Vulnerable, la segunda nos indica que la variable es POST y el ultimo, los parámetros que posiblemente son vulnerables.
Entonces procederemos a explotar la vulnerabilidad automatizadamente que
se encuentra en el LOGIN, utilizando SQLMAP y ejecutando el siguiente
comando basándonos en los datos obtenidos por el Live HTTP Headers.
- ./sqlmap.py -u "http://www.uap.edu.pe/intranet/logon2.asp" --data="usuario=&pw=&user=07&B7=++Conectar++" -p "usuario" --level=5 --risk=5 --dbs
Después de que la herramienta termine de auditar el servidor, esta
detectara que el parámetro POST "usuario" es vulnerable, tal cual se
muestra en la siguiente imagen:
A partir de allí, ya sabemos que dicho LOGIN es realmente vulnerable y
lo hemos explotado con total satisfacción obteniendo así toda la base de
datos del servidor.
Ahora si! con esta DB obtendremos los respectivos datos reales para
poder logearnos satisfactoriamente en el LOGIN que tanto deseamos ;)
Espero les sirva.
Saludos.
Fuente: http://www.blackploit.com/2013/03/sqli-utilizando-metodo-post-con-sqlmap.html
No hay comentarios:
Publicar un comentario