Translation
Question asked by d - Yesterday at 3:31 PM
Unanswered
1. Chat en vivo, de visitante a agente (mayor riesgo)

Abre el widget de chat como visitante, selecciona francés como idioma de traducción e inicia un chat. Acéptalo desde el lado del agente.

Como visitante, envía el *payload* (carga útil) corto.

Resultado esperado (aprobado): en la ventana de chat del agente, la línea de traducción muestra `<img src=x onerror=alert(document.cookie)>` como texto visible. No aparece ninguna alerta ni icono de imagen.

Envía el *payload* multilínea. Resultado esperado (aprobado): la traducción que ve el agente muestra tres líneas separadas.

Responde como agente en inglés. Resultado esperado (aprobado): el visitante ve el mensaje del agente con una traducción al francés debajo; cualquier etiqueta (*tag*) presente aparece como texto plano.

2. Límite de longitud para mensajes de visitantes

En el widget del visitante, pega más de 3000 caracteres en el cuadro de respuesta. Resultado esperado (aprobado): el cuadro deja de aceptar texto al alcanzar los 3000 caracteres. Verifica esto tanto con los archivos adjuntos habilitados como deshabilitados para el chat (antes de la corrección, el límite solo se aplicaba cuando los archivos adjuntos estaban habilitados).

Envía un mensaje de exactamente 3000 caracteres. Resultado esperado (aprobado): el mensaje se entrega y el agente puede verlo.

Omitir el widget: en la página de inicio del portal (no es necesario haber iniciado sesión), ejecuta lo siguiente en la consola de las herramientas de desarrollo (*DevTools*):

`const c = jQuery.hubConnection(); const p = c.createHubProxy('smartertrackhub');`
`c.start().done(() => p.invoke('chatUserSendMessage', {chatId: 1, message: 'a'.repeat(3001), uniqueContainerId: 'x', isHtml: false, maxUploadSize: 0}).done(() => console.log('accepted')).fail(e => console.log('failed: ' + e.message)));`

Resultado esperado (aprobado): la consola muestra `failed: This message has not been sent`. Cambia 3001 por 3000 y vuelve a ejecutar el código. Resultado esperado (aprobado): la consola muestra `accepted`.

3. Transcripción de un chat finalizado

Finaliza el chat de la prueba 1. Como agente, ábrelo desde el historial de chats y haz clic en «Traducir». Resultado positivo: la traducción del *payload* (carga útil) muestra la etiqueta como texto visible, sin generar ninguna alerta. La traducción de un mensaje de varias líneas conserva las tres líneas.

Recarga la transcripción sin hacer clic en «Traducir». Resultado positivo: las traducciones anteriores siguen apareciendo, presentadas como texto plano.

Los mensajes que corresponden a archivos adjuntos o mensajes del sistema (como «El agente se ha unido», etc.) no muestran ninguna línea de traducción.

4. Visualizador de tickets (agente)

Envía un correo electrónico en texto plano que contenga el *payload* corto a un buzón de correo de un departamento. Abre el ticket con el rol de agente y haz clic en «Traducir» en dicho mensaje.

Resultado positivo: la traducción, que aparece en cursiva sobre el mensaje, muestra la etiqueta como texto. No se genera ninguna alerta.

Recarga el ticket. Resultado positivo: la traducción sigue visible y se mantiene como texto.

Envía el *payload* de varias líneas a través de un correo electrónico y tradúcelo. Resultado positivo: la traducción conserva las tres líneas. (Antes de la corrección, el contenido aparecía todo seguido en una sola línea).

Envía el *payload* largo por correo electrónico y haz clic en «Traducir». Resultado positivo: aparece un mensaje de «Error en la traducción» y no se muestra el texto original en cursiva simulando ser una traducción. Resultado negativo: se activa una alerta o el texto original aparece en cursiva. Esto último corresponde al ataque notificado.

Reply to Thread

Enter the verification text