Ir al contenido principal

🥇▷ Ataque Server-side Template Injection

La inyección de plantillas en el servidor (Server-side Template Injection) es una vulnerabilidad que ocurre cuando un atacante puede ejecutar código malicioso en el contexto del servidor a través de plantillas utilizadas para generar contenido dinámico, como HTML, en aplicaciones web. Esta vulnerabilidad generalmente ocurre en sistemas que utilizan motores de plantillas para generar contenido dinámico, como Twig (utilizado en PHP), FreeMarker (utilizado en Java), Jinja2 (utilizado en Python), entre otros.

A continuación, te presento algunos ejemplos de cómo podría ocurrir una inyección de plantillas en el servidor:

  1. Ejemplo en una plantilla Twig (PHP): Supongamos que una aplicación web utiliza Twig como motor de plantillas y permite que los usuarios ingresen contenido que se mostrará en la página:

Plantilla Twig:

 <!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>Bienvenido, {{ user }}</h1>
</body>
</html>

Si la aplicación no valida adecuadamente la variable user, un atacante podría proporcionar una entrada maliciosa que explote la plantilla, como:

{{ user.__class__.__mro__[1].__subclasses__()[414].__init__.__globals__['os'].popen('ls').read() }}
 

En este ejemplo, el atacante aprovecha una vulnerabilidad de inyección de plantillas en el servidor para ejecutar el comando ls y listar el contenido del directorio.

  1. Ejemplo en una plantilla Jinja2 (Python): Supongamos que una aplicación web utiliza Jinja2 como motor de plantillas y permite que los usuarios ingresen contenido en un formulario de búsqueda:

Plantilla Jinja2:

 <!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>Resultados de búsqueda para "{{ query }}":</h1>
    <ul>
        {% for result in results %}
            <li>{{ result }}</li>
        {% endfor %}
    </ul>
</body>
</html>
 

Si la aplicación no valida adecuadamente el contenido ingresado por el usuario en la variable query, un atacante podría proporcionar una entrada maliciosa que explote la plantilla, como:

{{ ''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read() }}
 

En este ejemplo, el atacante aprovecha una vulnerabilidad de inyección de plantillas en el servidor para leer el archivo /etc/passwd.

Para prevenir la inyección de plantillas en el servidor, es importante seguir buenas prácticas de seguridad:

  • Validar y filtrar la entrada del usuario: Siempre valida y filtra adecuadamente cualquier entrada del usuario antes de utilizarla en una plantilla.
  • Utilizar motores de plantillas seguras: Utiliza motores de plantillas que implementen medidas de seguridad para prevenir inyecciones de plantillas, como la autoescape por defecto para evitar la ejecución de código malicioso.

La prevención de la inyección de plantillas en el servidor es fundamental para garantizar la seguridad de las aplicaciones web y evitar que los atacantes ejecuten código malicioso en el contexto del servidor. Los desarrolladores deben estar conscientes de esta vulnerabilidad y seguir prácticas seguras de desarrollo para proteger sus aplicaciones.

 
 

Entradas populares de este blog

🥇▷ Como hackear una base de datos con sqlmap

Como hackear una base de datos con sqlmap (sql injection) sqlmap --help Nos descargamos la pagina web vulnerable (DVWA) para practicar sobre diferentes ataques a nivel Web desde la siguiente url, y seguimos los pasos que nos indican para la instalacion web y su base de datos. https://github.com/digininja/DVWA/releases Una vez instalado nos vamos a burpsuite que esta en kali linux, aunque lo podemos encontrar para windows tambien. Le damos click. En esta ventana le damos Next (siguiente). En esta ventana le damos Start burp. Se nos abrira la ventana de burpsuite. Por cierto burpsuite sirve para escanear webs y encontrar vulnerabilidades de forma automatica (30 dias gratis) o de forma manual gratis, si ya hemos localizado la vulnerabilidad atraves de un proxy. Esta vez lo hacemos de forma manual. Nos vamos a la pestaña proxy. Activamos intercept is on. Y le damos a open browser. Ponemos la direccion Web de DVWA de nuestra web vulnerable. Le d

🥇▷ Vulnerabilidad xss en web gva.es generalitat valenciana

Vulnerabilidad xss reflected en web generalitat valenciana > gva.es El dia que encontremos 2 vulnerabilidades y la reportemos al organismo de la comunidad valenciana (españa) basada en la vulnerabilidad xss reflected. ¿Que es una vulnerabilidad xss reflected? Una secuencia de comandos en sitios cruzados o Cross-site scripting es un tipo de vulnerabilidad informática o agujero de seguridad típico de las aplicaciones Web, que puede permitir a una tercera persona inyectar en páginas web visitadas por el usuario código JavaScript o en otro lenguaje similar.

🥇▷ Libros de Seguridad Informatica

Libros de Seguridad Informatica https://0xword.com/