sql injection utilizando método post

Post on 06-Jul-2015

1.484 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Sql injection utilizando método post

TRANSCRIPT

SQL Injection utilizando

método POST

Herramienta sqlClase 2 29/08/2013

SQL Injection utilizando método POST

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.

SQL Injection utilizando método POST

Estas vulnerabilidades son típicas en los LOGIN'S Administrativos, ya que

como debemos de saber, que cuando ingresamos el usuario y passwordestos 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".

SQL Injection utilizando método POST

Si no me explique bien,

pues al buen entendedor

pocas palabras!!! entonces

sin mas rodeos, vamos a la

acción!

SQL Injection utilizando método POST

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 famoso ' or '1'='1 como se muestra en la imagen

siguiente:

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Antes de eso recordemos que mantra esta integrado en la suite de

backtrack como se muestra a continuación

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Después de darle clic nos aparecerá las siguiente secuencia de ventanas

SQL Injection utilizando método POST

SQL Injection utilizando método POST

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Nota. Ahora la pagina se ve así cuando se hizo la auditoria de seguridad, después solo

quitaron la entrada UAP. Administrativo posiblemente trataron de corregirla después de las

vulnerabilidades mostradas.

SQL Injection utilizando método POST

Actualidad

SQL Injection utilizando método POST

Después de haber colocado este bypass, tenemos la posibilidad de que el

servidor nos muestre algún tipo de vulnerabilidad o el error que nos permita

identificar si es vulnerable a SQL Injection, tanto así que si el servidor se

encuentra bajo ASP esta nos puede mostrar el error "Microsoft OLE DB

Provider for ODBC Drivers error '80040e14'", si esto llega a suceder,

corremos la suerte de poder explotar esta vulnerabilidad. En este caso

después de haber colocado dicho bypass, el servidor nos devuelve el

siguiente error:

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Aun así como se menciono anteriormente trataron de corregir el error pero

sigue apareciendo el mismo error como se muestra a continuación

SQL Injection utilizando método POST

SQL Injection utilizando método POST

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 damos clic en Conectar, la cual el servidor nos muestra lo siguiente:

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Ahora, para seguir probando si el LOGIN tiene algún otro tipo de

vulnerabilidad, regresamos al form y ahora tecleamos USER en el usuario y

en la clave lo mismo USER y le damos clic en Conectar, la cual el servidor

nos muestra lo siguiente:

SQL Injection utilizando método POST

SQL Injection utilizando método POST

SQL Injection utilizando método POST

¿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.

SQL Injection utilizando método POST

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.

SQL Injection utilizando método POST

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

SQL Injection utilizando método POST

Recordemos que el sqlmap se encuentra el la suite del backtraq como se

muestra a continuación

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Introducimos la sentencia en sqlmap que se menciono anteriormente y

procedemos el analisis

SQL Injection utilizando método POST

SQL Injection utilizando método POST

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:

SQL Injection utilizando método POST

SQL Injection utilizando método POST

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.

SQL Injection utilizando método POST

SQL Injection utilizando método POST

SQL Injection utilizando método POST

SQL Injection utilizando método POST

Ahora si, con este análisis en la BD obtendremos los respectivos datos

reales para poder logearnos satisfactoriamente en el LOGIN que tanto

deseamos y hacer nuestra fechoría.

top related