Server-side template injection with information disclosure via user-supplied objects writeup

Descripción

This lab is vulnerable to server-side template injection due to the way an object is being passed into the template. This vulnerability can be exploited to access sensitive data.

To solve the lab, steal and submit the framework’s secret key.

You can log in to your own account using the following credentials:

content-manager:C0nt3ntM4n4g3r

Server-side template injection with information disclosure via user-supplied objects writeup

Entramos al laboratorio, en ‘My account’ y accedemos con el usuario ‘content-manager’ y la contraseña ‘C0nt3ntM4n4g3r’. Ahora vamos a un producto y editamos su plantilla con ‘Edit template’. Cambiaremos, por ejemplo ‘{{product.price}}’ por ‘{{{product.price}}}’, provocando un error y revelando la plantilla del servidor, que en este caso es django:

Introduciremos el siguiente código y pulsaremos ‘Preview’:

{% debug %}

Veremos que entre todas las opciones, podemos usar el objeto ‘settings’. Explorando la documentación vemos que aquí está la clave que nos pide el laboratorio:

{{settings.SECRET_KEY}}

Al copiar la clave y pegarla en ‘Submit solution’ completaremos el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *