Ir al contenido principal

🥇▷ Ataque Vulnerabilidad Prototype Pollution

 

La "Prototype Pollution" (polución de prototipos) es una vulnerabilidad que afecta a aplicaciones JavaScript y se produce cuando se modifica o manipula el prototipo de un objeto, lo que puede conducir a comportamientos inesperados o inseguros. Esta vulnerabilidad permite a los atacantes modificar objetos compartidos en el ámbito global o en otros objetos, lo que puede tener consecuencias graves.

A continuación, te presento algunos ejemplos prácticos de cómo ocurre la Prototype Pollution:

  1. Modificación de objetos compartidos: Supongamos que una aplicación utiliza un objeto en el ámbito global para almacenar configuraciones o datos compartidos, y se asume que este objeto solo contendrá las propiedades previamente definidas. Un atacante podría manipular el prototipo de este objeto y agregar propiedades maliciosas que podrían afectar el comportamiento de la aplicación.

 // Objeto compartido en el ámbito global
const sharedObject = {};

// Atacante agrega una propiedad maliciosa al prototipo del objeto compartido
Object.prototype.maliciousProperty = "Malicious Data";

// La aplicación accede al objeto compartido y obtiene la propiedad maliciosa
console.log(sharedObject.maliciousProperty); // "Malicious Data"


2. Manipulación de objetos internos: Supongamos que una aplicación utiliza un objeto para almacenar datos en una estructura jerárquica y no valida adecuadamente la entrada del usuario antes de usarla como parte de la estructura. Un atacante podría enviar datos maliciosos para manipular la estructura de objetos y provocar comportamientos inesperados o errores en la aplicación.

  // Objeto para almacenar datos en una estructura jerárquica
const data = {};

// Atacante envía datos maliciosos para manipular la estructura de objetos
const userInput = '{"__proto__": {"isAdmin": true}}';
const parsedInput = JSON.parse(userInput);

// El objeto 'data' ahora tiene una propiedad 'isAdmin' que no debería estar ahí
console.log(data.isAdmin); // true

 

  1. Modificación de prototipos de bibliotecas o módulos: Si una aplicación utiliza bibliotecas o módulos externos que no validan adecuadamente los datos de entrada antes de manipular prototipos, un atacante podría aprovechar esto para realizar la Prototype Pollution.

Para prevenir la Prototype Pollution, es importante seguir buenas prácticas de seguridad en JavaScript:

  • Validar y filtrar adecuadamente los datos de entrada antes de utilizarlos para modificar prototipos o estructuras de objetos.
  • Evitar utilizar objetos globales compartidos cuando no sean estrictamente necesarios. Utilizar patrones de diseño adecuados y encapsulamiento para evitar la polución de prototipos.
  • Utilizar versiones actualizadas de bibliotecas y módulos que aborden y corrijan posibles vulnerabilidades de Prototype Pollution.

La prevención de la Prototype Pollution es esencial para garantizar la seguridad y la integridad de las aplicaciones JavaScript. Los desarrolladores deben estar conscientes de esta vulnerabilidad y seguir prácticas seguras de desarrollo para proteger sus aplicaciones contra posibles ataques.

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/