¿Prevención XSS al insertar HTML sin datos controlados por el usuario en el DOM?

0

Tengo un JavaScript que obtiene algo de HTML de un script PHP y lo inserta en el DOM:

$.get("/includes/blocks.php",{
  id:encodeURIComponent(id)
}).done(function(Data){
  $('<div class="pac">'+Data.html+'</div>').appendTo('.main');
}); 

¿Cuál es la mejor manera de prevenir XSS si quiero insertar un código HTML de blocks.php en el DOM? Contiene una gran cantidad de elementos HTML con toneladas de atributos. No se devuelven datos controlados por el usuario, pero ¿podrían modificarse los datos devueltos de alguna manera?

    
pregunta Saly 12.04.2018 - 14:41
fuente

1 respuesta

1
  

No se devuelven datos controlados por el usuario, pero ¿podrían modificarse los datos devueltos?

No, estás a salvo. Está obteniendo un documento de una URL fija ( /includes/blocks.php ) en el mismo origen que no refleja datos controlados por el usuario. Para que sea vulnerable a XSS, necesitarías un punto de entrada donde el atacante pueda inyectar el código, pero en ningún momento el código controla la entrada del usuario.

    
respondido por el Arminius 12.04.2018 - 18:00
fuente

Lea otras preguntas en las etiquetas