¿Desea omitir este filtro XSS único?

-1

Encontré un sitio web que reflejaba las entradas del usuario. Pero el problema es que cuando inyecto esta carga útil <svg/onload=alert(1)> me sale un error.

Pero cuando uso esta carga útil <%20svg/onload=alert(1)> , mi entrada se refleja de nuevo en la pantalla, pero no puedo hacer que aparezca la alerta. Y este documento dice que no debe haber ningún espacio en blanco entre < y la etiqueta nombre.

Por lo tanto, no puedo usar ninguna carga útil que comience con < y nombre de etiqueta para ej. <script , <svg , <img

Entonces, ¿hay algún truco?

Cargas útiles probadas:

<%20svg/onload=alert(1)>
<%00svg/onload=alert(1)>
<%09svg/onload=alert(1)>

Pero el resultado es el mismo, mi entrada se refleja sin ningún problema, pero no aparece ninguna alerta.

Entonces, ¿el resultado es "No se puede omitir"? ¿Qué me estoy perdiendo aquí?

    
pregunta Utkarsh Agrawal 03.07.2018 - 08:34
fuente

1 respuesta

3

Suponiendo que la situación es:

  

Una página web inserta directamente parte de la URI dentro de su contenido HTML

y la restricción es:

  

La página web devuelve un error estático si esa parte de URI contiene <[a-zA-Z0-9]

Entonces podrías tener XSS exploit en estos casos:

  • El código se inserta dentro de una etiqueta <script> en la página, dentro de una etiqueta <style> , dentro de algunos atributos HTML como href o onclick , o entre el < y > de cualquier etiqueta HTML : en todos esos casos, no es necesario usar <XYZ como código para inyectar cosas críticas
  • El código se inserta en un textNode de cualquier otro elemento HTML: puede inyectar etiquetas </xyz> , lo que rompe la página y podría permitir algunas otras inyecciones a continuación, lo mismo ocurre con las etiquetas de comentarios <!-- ; o puede inyectar _ nodos de inicio (podría tener algún impacto de otra manera); o puede inyectar una cadena que comience con cualquier letra y que contenga la etiqueta más adelante ( foo<bar>naz</bar> )
  • ¿Y por qué no codificar el primer carácter de etiqueta? ¿O cambiar de caso? ¿O ambos? ¿Has probado <Script>... o <%53cript ?

Sin embargo, la ayuda precisa sería mucho más fácil con un mapeo de "Esta es la URI que he usado, y ese es el resultado HTML que obtengo" (pero no estoy seguro de que podamos llegar realmente más lejos, ya que el objetivo de este sitio web no es proporcionar exploits para ataques AFAIR).

    
respondido por el Xenos 03.07.2018 - 14:23
fuente

Lea otras preguntas en las etiquetas