Xssing sin abrir una nueva etiqueta html

4

Ejemplo: test.php?p=test da salida:

<p style="...">test</p>

Puedo inyectar cualquier cosa que no sea '<', cuando me inyectaron, me redireccioné. Entonces, ¿puede ser explotado?

    
pregunta user2676847 28.10.2015 - 20:44
fuente

4 respuestas

2

En este caso particular, el "<" Es necesario para un ataque. Tenga en cuenta que el "<" No es necesario para todas las especies de ataques XSS. Una buena referencia es aquí .

    
respondido por el Ammar Bandukwala 28.10.2015 - 20:55
fuente
3

Como mencionó Ammar, en esta situación específica no creo que XSS sea posible. Sin embargo, si la visita a test.php?p=test representa el siguiente HTML:

<p style="..." title="test">Some other stuff</p>

Un usuario malintencionado podría usar una URL como esta:

test.php?p=test" onmouseover="alert('xss')

renderizado:

<p style="..." title="test" onmouseover="alert('xss')">Some other stuff</p>

para ejecutar un ataque XSS. No funciona en su situación, pero debe ilustrar el hecho de que eliminar los corchetes no es suficiente para evitar XSS.

    
respondido por el Abe Miessler 28.10.2015 - 22:27
fuente
1

Como se mencionó en otros comentarios, debe poder inyectar '<' en este ejemplo particular. Probaría la codificación Unicode (entidades html).

Por ejemplo, inyecte &#60;test y vea si la respuesta del servidor contiene <test .

Algunas veces la codificación de URL también funciona. Por ejemplo, algunos sitios en la lista negra de caracteres como & o ; para evitar vectores xss basados en codificación Unicode. Para omitir este filtro, puede utilizar la codificación url.

http://www.example.com/search?q=%26%2360%3Btest

se traduciría a

http://www.example.com/search?q=&#60;test
    
respondido por el LazyHands 29.10.2015 - 20:29
fuente
0

Si el conjunto de caracteres es UTF-7, la secuencia +ADw- se puede usar para representar < .

Las versiones actuales de Internet Explorer aún admiten UTF-7. Sin embargo, la página ya debería estar configurada como conjunto de caracteres UTF-7 o debería haber algún tipo de vector que le permita configurarlo para explotar esto.

Consulte esta respuesta y esta respuesta .

Aparte de eso, se necesita un carácter menor que para explotar esto en el contexto del elemento HTML. Este no es el caso con el contexto de atributo, donde si el contexto se puede cambiar a otro atributo, entonces se puede inyectar un script de soporte:

<img alt="usertext" />

establece usertext en " onmouseover="alert('xss')

entonces esto se procesará como

<img alt="" onmouseover="alert('xss')" />

y no se necesita < .

    
respondido por el SilverlightFox 29.10.2015 - 19:22
fuente

Lea otras preguntas en las etiquetas