2011-03-09 15 views
8

¿Puede alguien decirme dónde viene siguiente mensaje de error HTTP provienen de:Debido a la presencia de personajes conocidos para ser utilizados en ataques de Cross Site Scripting, está prohibido el acceso

Debido a la presencia de personajes conocidos para ser utilizado en ataques Cross Site Scripting, el acceso está prohibido. Este sitio web no permite las URL que pueden incluir etiquetas HTML integradas.

Estamos utilizando URL generadas dinámicamente y en este caso específico la URL contiene los caracteres '<' o '>'. Hacemos que la URL codifique la URL generada (por lo que '% 3C' aparece en lugar de '<') pero no ayuda.

Nuestra configuración es ASP.NET MVC/IIS 7.5/IE8.

Es extraño, pero parece que el error aparece solo en algunas máquinas. Por lo tanto, podría ser que la configuración de la zona de Internet de IE esté desempeñando un papel.

+0

Si es sólo algunas máquinas, me vería en antivirus primera ... – Paddy

+4

¿Cómo usar SiteMinder? – Konerak

+1

Probablemente provenga del servidor web al que intenta conectarse con su solicitud HTTP. Está rechazando la solicitud debido a los caracteres que parecen ser HTML. –

Respuesta

8

Probablemente esté usando un complemento de terceros, como SiteMinder, que está tratando de "proteger" su sitio web de los ataques XSS rechazando las URL con HTML codificado en ellas.

Si el error solo aparece en algunas máquinas y no en otras, verifique qué plugins están instalados en esas máquinas. Quítelos hasta que encuentre el culpable (luego vuelva a instalar los otros). Intenta configurar ese complemento para permitir las URL.

Piensa si realmente necesitas los complementos o no. Si algunos servidores los tienen y otros no, quizás estés mejor sin ellos.

+0

Hola, Konerak, de hecho estamos usando SiteMinder para Autenticación de usuario. Probaré la codificación personalizada (y la decodificación del sitio del servidor) de la URL. – llasarov

+1

Tienes razón. Había un texto en la URL que tenía un apóstrofo sin codificar. – asgs

+1

En mi caso, no pudimos reproducir localmente ya que no usamos SiteMinder en compilaciones locales, solo hasta que publicamos nuestro sitio web en nuestro servidor de desarrollo remoto que usaba el complemento de SiteMinder pudimos reproducir este problema (con HTTPS) –

2

Como dice Konerak, si está utilizando SiteMinder, devolverá 403 y le dará ese mensaje para evitar ataques de scripts entre sitios.

Esta solución puede no ser adecuada si está ejecutando un sitio externo, pero la forma más sencilla que hemos encontrado para evitar el problema fue editar el archivo LocalConfig.conf para desactivar la comprobación XSS.

Este es el escenario:

CSSChecking="NO"

y el archivo vive aquí:

Program Files\netegrity\webagent\bin\IIS\LocalConfig.conf

Cuestiones relacionadas