Cookie Tampering

Llendonos a OWASP 2017 -> Injection SQL -> SQLi Extract Data -> User Info (SQL), que es donde realizaremos dicha tecnica.

Una Cookie es simplemente una porcion de informacion que solicita el servidor web para que tu navegador la mantenga almacenada y cuando hacemos peticiones a ese servidor introduzca dicha informacion.

Para interceptar las Cookies en este caso abriremos Burp Suite y estando a la escucha ejecutaremos la peticion, una vez que lo hayamos capturado con Burp Suite veremos lo siguiente:

Vemos algunas Cookies en la seccion de Cookie:.

En este caso hay 2 importantes la llamada PHPSESSID= y la showhints=, en este caso la segunda mencionada esta visible con valor 1 ya que en la pagina de Mutillidae tenemos activado el Toggle Hints:

Si lo desactivamos dandole al mismo boton, cuando lo captures se pondra en 0.

Y la parte de PHPSESSID= es la sesion del usuario entera, pero en la parte de showhints= si esta en 0 y la modificamos a 1 mediante Burp Suite cuando le demos a Forward la pagina se va a creer que esta en 1 y le va a mostrar las hints por lo que es un punto de injeccion.

Si nos vamos a la pagina de login como para logearnos y ponemos a nuetro Burp Suite a interceptar, cuando enviemos dichas credenciales, las capturaremos con Burp Suite si nosotros le damos a Forward veremos lo siguiente:

Se nos esta estableciendo en Set-Cookie: el username y el uid, con esto lo que esta hacien es pedirle al servidor que almacene esas Cookies.

Le daremos otra vez a Forward y veremos esto:

Y ya a parte de almacenar la sesion con PHPSESSID y showhints, lo que va hacer es tambien almacenar el username y el uid.

Le volveremos a dar a Forward, quitaremos la interceptacion.

Si nosotros creamos un nuevo usuario en la pagina por ejemplo llamado canario, y cuando nos vayamos a logear lo interceptamos con Burp Suite para ver si hay alguna diferencia en las Cookies o en los id's:

Aqui vemos que hemos capturado el login del usuario canario, le daremos a Forward, veremos lo siguiente:

Estamos viendo que que nos setea las Cookies de nuevo, pero lo que esta cambiando aqui es el uid por lo que podemos llegar a creer que el uid es lo que esta identificando a los usuarios y puede ser un punto de injeccion.

Le daremos a Intercept is on para ponerlo en off.

Si nosotros por ejemplo pinchamos en cualquier apartado de la pagina con el Burp Suite interceptando para capturar la peticion:

Por lo que vemos el uid va en orden a las cuentas que se han ido creando y podremos deducir que el primer usuario de la pagina podria ser el administrador, por lo que si cambiamos el uid donde pone 42 que es nuestro identificador por el 1 a ver que usuario somos.

Le daremos a Forward y dejaremos de interceptar, por lo que si nos vamos a la pagina y vemos que usuario somos:

Vemos que somos el usuario admin por lo que ha funcionado.

Lo que tambien se podria hacer es robar ese TOKEN de sesion del PHPSESSID, capturarlo con Burp Suite y reemplazar el PHPSESSID nuestro por el del administrador el cual hayamos capturado, para tener su sesion.

Last updated