Las secuencias de doble escape se refieren a situaciones en las que ciertos caracteres se escapan varias veces al escapar de una cadena. En la codificación de URL, los caracteres especiales a menudo se escapan para garantizar que el servidor los pase correctamente y los analice. Por ejemplo, los espacios se escapan como "%20" y el signo más (+) normalmente no se escapa porque representa un espacio en la URL. Sin embargo, si el servidor escapa por error de caracteres que ya se han escapado nuevamente, se generará una secuencia de escape doble.
El servidor informa que el módulo de filtrado de solicitudes está configurado para rechazar solicitudes que contienen secuencias de escape dobles, lo que puede significar que el servidor cree que el signo más en la URL se ha escapado dos veces, es decir, el signo más se ha escapado como %2B y luego escapó nuevamente. La definición es %252B, lo cual se considera incorrecto. El servidor puede rechazar dicha solicitud porque puede causar errores de análisis o problemas de seguridad.
Revisar
applicationHost.config
Configuración del archivo, haga una copia de seguridad del archivo antes de modificarlo por si acaso.
%SystemDrive%\Windows\System32\inetsrv\config
Busque el archivo de configuración del sitio correspondiente en la carpeta, generalmente \applicationHost.config
y luego ábralo con un editor de texto (como el Bloc de notas).<requestFiltering>
parte. En IIS 7, el módulo URLScan puede bloquear las solicitudes de URL que contienen un signo más de forma predeterminada.<requestFiltering>
sección, puede agregar un <allowDoubleEscaping>
elemento, estableciendo su valor en true
, para permitir el signo más en la URL. Ejemplo:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>