Informe 05 BALOTAJE 2015 07 17.pdf


Vista previa del archivo PDF informe-05-balotaje-2015-07-17.pdf


Página 1 2 3 4 5 6 7

Vista previa de texto


Departamento de Computación
Facultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires

Observación: Se utilizar la función html de jquery (equivalente a la propiedad
innerHTML) para establecer el texto de un elemento en pantalla con datos
variables obtenidos de los parámetros de la función y/o de datos que directa o
indirectamente tienen como fuente algún usuario del sistema. Esto hace el código
susceptible a la inyección de código HTML y/o javascript. Si bien no se halló
ningún caso en que esta vulnerabilidad pueda ser explotada directamente, el
código así programado tiene una debilidad debida a no controlar los datos que se
asignarán a como HTML al elemento en pantalla.
Posible solución: Utilizar una vía segura para el establecimiento de textos. Por
ejemplo usar la función text de jquery (equivalente a la propiedad
textContent). En este caso:
$("#datos").append($("<h3>").text(Mesa: " + result.mesa.numero));

O cuando se quiera enviar mensajes con algún tipo de formato (negritas, colores,
estilos, etc) usar una función propia que solo permita datos que tengan los
elementos HTML admitidos y seguros:
$('.status-' + dispositivo).html(control_html_admitido(mensaje));

(el último ejemplo está tomado de la función set_status en línea 27 de
…/msa/desktop/transmision/templates/js/transmision/funciones.js).

C.A.B.A. – Elecciones 2015
Auditoría de sistemas para el TSJ – Informe N°5

Página 7 de 7