XSS para superar las entidades HTML

-1

En un cuadro de búsqueda ( <input value=" *insert search term here* "...> ), cuando ingreso " onmouseover="alert(1) , las comillas dobles se convierten en sus entidades, por lo que no es posible romperlas. ¿Hay alguna forma posible de inyectar JavaScript en este caso?

    
pregunta BillyBob 26.05.2016 - 07:24
fuente

1 respuesta

2

No.

Si la entrada del usuario está codificada correctamente (codificación HTML en este contexto), XSS no es posible ya que la entrada del usuario nunca se tratará como un código JS. La codificación HTML adecuada (conversión de entrada en sus entidades HTML) es la forma preferida de evitar XSS cuando cualquier entrada de usuario se inserta / refleja dentro del código HTML.

Su ejemplo parece ser un caso de XSS basado en DOM (donde el usuario nunca envía información al servidor y se inserta en el DOM directamente). Si este es el caso, la conversión a entidades HTML (codificación HTML) se realiza en el propio cliente (navegador).

Es probable que esta entrada se refleje en otro lugar de la respuesta (caso de XSS reflejado ). Algunos ejemplos donde se puede realizar XSS en su escenario:

  • Como valor para otro atributo HTML (contexto HTML) donde esta entrada no está codificada en HTML.
  • Como valor para un controlador de eventos o declarado como una variable JS dentro de las etiquetas de script en línea y dado que los datos no están correctamente codificados aquí.
respondido por el Rahil Arora 26.05.2016 - 08:16
fuente

Lea otras preguntas en las etiquetas