
Un escáner y probador del CVE-2025-11001 de 7-zip
Una impresionante aplicación web interactiva que demuestra y ayuda a detectar la vulnerabilidad crítica de traversal de symlinks CVE-2023-52169 en archivos 7-Zip.
../, ..\\)/, C:\\)Clonar el repositorio
git clone <repository-url>
cd Se7enSlip
Instalar dependencias
npm install
Iniciar el servidor de desarrollo
npm start
Abrir el navegador
Navega a http://localhost:3000
# Desarrollo con recarga automática
npm run dev
# Crear un archivo ZIP vulnerable de prueba
npm run create-test-zip
# Compilación de producción
npm run build
La vulnerabilidad permite a los atacantes crear archivos ZIP maliciosos que, al ser extraídos por versiones vulnerables de 7-Zip, pueden escribir archivos fuera del directorio de extracción previsto. Esto se logra mediante:
../ para escapar de la carpeta de extracción┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ ZIP Malicioso │───▶│ 7-Zip Vulnerable│───▶│ Compromiso del │
│ │ │ < v23.01 │ │ Sistema │
│ • ../../../etc/ │ │ │ │ • Sobrescritura │
│ • /tmp/evil.sh │ │ No valida las │ │ de archivos │
│ • Symlinks │ │ rutas de │ │ • Ejecución de │
│ │ │ extracción │ │ código │
└─────────────────┘ └─────────────────┘ │ • Escalada de │
│ privilegios │
└─────────────────┘
POST /api/scanCarga y escanea un archivo ZIP en busca de vulnerabilidades.
Solicitud: Datos de formulario multiparte con el campo zipfile
Respuesta:
{
"filename": "test.zip",
"totalEntries": 10,
"suspicious": [...],
"riskLevel": "HIGH",
"recommendations": [...],
"metadata": {
"totalSize": 12345,
"suspiciousPatterns": {...}
}
}
GET /api/vulnerability-infoRecupera información detallada sobre CVE-2023-52169.
Respuesta:
{
"cve": "CVE-2023-52169",
"cvssScore": 7.8,
"downloadUrl": "https://www.7-zip.org/download.html",
"references": [...]
}
POST /api/create-test-zipGenera un archivo ZIP de prueba que contiene varios patrones de vulnerabilidad.
Respuesta: Descarga de archivo ZIP con entradas maliciosas para pruebas
public/css/
├── styles.css # Hoja de estilos principal con propiedades CSS personalizadas
├── animations/ # Keyframes de animación y transiciones
├── components/ # Estilos específicos de componentes
└── responsive/ # Media queries y diseño responsivo
:root {
--primary: #00ff88; /* Verde neón */
--secondary: #ff4757; /* Rojo de peligro */
--accent: #3742fa; /* Azul eléctrico */
--bg-primary: #0a0a0a; /* Negro profundo */
--text-primary: #ffffff; /* Blanco puro */
}
PORT=3000 # Puerto del servidor
NODE_ENV=production # Modo de entorno
UPLOAD_LIMIT=52428800 # Límite de tamaño de archivo (50MB)
RATE_LIMIT_WINDOW=900000 # Ventana de límite de peticiones (15min)
RATE_LIMIT_MAX=50 # Máximo de solicitudes por ventana
La aplicación incluye múltiples capas de seguridad:
// Política de Seguridad de Contenido
helmet({
contentSecurityPolicy: {
directives: {
defaultSrc: ["'self'"],
styleSrc: ["'self'", "'unsafe-inline'"],
// ... directivas adicionales
}
}
})