Dvojité únikové sekvencie sa týkajú situácií, keď niektoré znaky sú pri escapovaní reťazca viacnásobné. Pri kódovaní adries URL sa špeciálne znaky často escapujú, aby sa zaistilo, že ich server správne prenesie a analyzuje. Napríklad medzery sú zakódované ako "%20" a znamienko plus (+) sa zvyčajne neuvádza, pretože predstavuje medzeru v adrese URL. Ak však server omylom znovu zakóduje znaky, ktoré už boli zakódované, vygeneruje sa dvojitá sekvencia escape.
Server hlási, že modul filtrovania požiadaviek je nakonfigurovaný na odmietnutie požiadaviek, ktoré obsahujú dvojité sekvencie escape, čo môže znamenať, že server sa domnieva, že znamienko plus v adrese URL bolo escapované dvakrát, to znamená, že znamienko plus je escapované ako %2B a potom znova escaped Definícia je %252B, čo sa považuje za nesprávne. Server môže takúto požiadavku odmietnuť, pretože môže spôsobiť chyby analýzy alebo bezpečnostné problémy.
Revidovať
applicationHost.config
Konfigurácia súboru, pred úpravou súboru ho pre každý prípad zálohujte.
%SystemDrive%\Windows\System32\inetsrv\config
V priečinku zvyčajne vyhľadajte príslušný konfiguračný súbor lokality \applicationHost.config
a potom ho otvorte pomocou textového editora (napríklad programu Poznámkový blok).<requestFiltering>
časť. V IIS 7 môže modul URLScan štandardne blokovať požiadavky URL obsahujúce znamienko plus.<requestFiltering>
sekciu, môžete pridať a <allowDoubleEscaping>
prvok, ktorý nastaví jeho hodnotu na true
, čím povolíte znamienko plus v adrese URL. Príklad:<security> <requestFiltering allowDoubleEscaping="true"></requestFiltering> </security>