XSS cuando se evitan algunas palabras clave en el lado del servidor

0

Cuando escaneo el sitio web con burp suite pro, encontré un XSS. Este XSS es

   <a b=c>

Cuando la suite Burp prueba otras cargas útiles que contienen palabras clave como script , alert , onerror , estos parámetros no pueden pasar. Por este motivo, Burp Suite solo informa el parámetro <a b=c> .

Como saben, esto significa <a b=c>

  • a se puede reemplazar img

  • b se puede reemplazar onerror

  • c se puede reemplazar alert

Pero estos parámetros ( img , onerror , alert ) se impidieron en el lado del servidor. Para solucionar este problema XSS, la validación de entrada puede ser una solución.

Según eructo, esto es XSS. ¿Es realmente peligroso el XSS? ¿Qué problemas puedo encontrar cuando ignoro este XSS ( <a b=c> )?

    
pregunta fr3ddgn 23.03.2015 - 09:20
fuente

2 respuestas

4

El problema es que hay un montón de formas de obtener XSS en este caso:

<style src="http://ha.ckers.org/xss.css"/><aonclick=alert(1)style="position:absolute; display:block; z-index: 9999; top:0; left:0; width:10000px; height: 10000px"></a>
<div onmouseover='alert(1)'/>
<svg src=x onerror='eval("...")' />

Solo para nombrar algunos de la parte superior de mi cabeza.

La XSS Filter Evasion Cheat Sheet debería darle una idea de cuántas formas existen para atacar tales vulnerabilidades. . Incluso si pone en la lista negra un millar de cadenas diferentes, probablemente nunca las obtendrá todas. Incluso si de alguna manera logra poner en una lista negra todas las etiquetas y eventos compatibles con today , en todos los navegadores, sus filtros estarán desactualizados en un mes.

Debe pasar a una solución basada en listas blancas o implementar una biblioteca de filtros XSS semántica adecuada. OWASP tiene algunas buenas pautas para prevenir el XSS que debe consultar.

    
respondido por el Polynomial 23.03.2015 - 11:31
fuente
1

Los navegadores web evolucionan constantemente. Es posible (aunque muy raro de acuerdo con mi experiencia) que logres crear una lista negra que bloquee cada ataque XSS significativo hoy, pero mañana una nueva característica del navegador puede introducir nuevas posibilidades para el atacante. Puedes consultar enlace para ver cuántos extraños se han presentado recientemente.

Entonces, mi respuesta es que esto es muy probablemente un XSS explotable (o se convertirá en uno eventualmente), así que deberías implementar defensas más robustas como la codificación de salida.

    
respondido por el buherator 23.03.2015 - 11:27
fuente

Lea otras preguntas en las etiquetas