En este momento estás viendo SSTI – How To prevent it (Flask)
Nevuer Cybersecurity & Hacking

SSTI - Como prevenirlo (Flask)

Como prevenir un SSTI a nivel de código:

La siguiente imagen muestra la vulnerabilidad a Server Side Template Injection través de Burp Suite, como podemos ver la típica cadena {{7*7}} se convierte en 49 en la salida:

Ataque SSTI en Burp Suite

El código programado en python para esta prueba es el siguiente:

Python

Para sanitizar el código podemos emplear la función re.sub:

Python

Para ello eliminaremos los carácteres [] y {} de la entrada del usuario:

Python

Una forma más segura puede ser eliminar cualquier símbolo y permitir solo la entrada de caracteres alfanuméricos de la siguiente forma:

Python

Finalmente, el código sanitizado es el siguiente:

Python

Si probamos de nuevo, la vulnerabilidad no se acontece:

SSTi blocked in Burpsuite

References:

Deja una respuesta