Dubbele ontsnappingssequenties verwijzen naar situaties waarin bepaalde karakters meerdere keren worden geëscaped wanneer ze aan een string ontsnappen. Bij URL-codering worden speciale tekens vaak geëscaped om ervoor te zorgen dat ze correct worden doorgegeven en door de server worden geparseerd. Spaties worden bijvoorbeeld geëscaped als "%20", en het plusteken (+) wordt meestal niet geëscaped omdat dit een spatie in de URL vertegenwoordigt. Als de server echter per ongeluk tekens ontsnapt die al opnieuw zijn ontsnapt, wordt er een dubbele ontsnappingsreeks gegenereerd.
De server meldt dat de verzoekfiltermodule is geconfigureerd om verzoeken af te wijzen die dubbele escape-reeksen bevatten, wat kan betekenen dat de server van mening is dat het plusteken in de URL twee keer is geëscaped, dat wil zeggen dat het plusteken is geëscaped als %2B en en vervolgens opnieuw ontsnapt. De definitie is %252B, wat als onjuist wordt beschouwd. De server kan een dergelijk verzoek afwijzen omdat dit parseerfouten of beveiligingsproblemen kan veroorzaken.
Herzien
applicationHost.config
Bestandsconfiguratie: maak een back-up van het bestand voordat u het wijzigt, voor het geval dat.
%SystemDrive%\Windows\System32\inetsrv\config
Zoek meestal het overeenkomstige siteconfiguratiebestand onder de map \applicationHost.config
en open het vervolgens met een teksteditor (zoals Kladblok).<requestFiltering>
deel. In IIS 7 kan de URLScan-module standaard URL-verzoeken blokkeren die een plusteken bevatten.<requestFiltering>
sectie, kunt u een <allowDoubleEscaping>
element, waarbij de waarde ervan wordt ingesteld true
, om het plusteken in de URL toe te staan. Voorbeeld:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>