TMA-IIS-4.5
Ensure Double-Encoded requests will be rejected
Açıklama
This Request Filter feature prevents attacks that rely on double-encoded requests and applies if an attacker submits a double-encoded request to IIS. When the double- encoded requests filter is enabled, IIS will go through a two iteration process of normalizing the request. If the first normalization differs from the second, the request is rejected and the error code is logged as a 404.11. requestFiltering allowDoubleEscaping must be false at server level and for every site. PowerShell 5.1 with the WebAdministration module; run elevated.
Nasıl denetlenir
Denetim yöntemi: Kabuk komutu
Import-Module WebAdministration -ErrorAction Stop; $paths = @('MACHINE/WEBROOT/APPHOST') + @(Get-Website | ForEach-Object { "IIS:\Sites\$($_.Name)" }); $bad = @($paths | Where-Object { $c = Get-WebConfiguration -Filter 'system.webServer/security/requestFiltering' -PSPath $_; $c.allowDoubleEscaping -ne $false }); if ($bad.Count -eq 0) { 'compliant' } else { 'noncompliant' }- Beklenen çıktı
compliant
Nasıl düzeltilir
Düzeltme yöntemi: Kılavuz veya altyapı yaması
Set-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter system.webServer/security/requestFiltering -Name allowDoubleEscaping -Value False
Özellikler
- İşletim sistemleri
- Herhangi biri
- Etiketler
- iisrequest-filtering
- Referans
- CIS Microsoft IIS 10 Benchmark v1.2.1 - 4.5 Ensure Double-Encoded requests will be rejected
Bu ana makineyi denetle
Bunu denetleme izniniz olan bir makinede çalıştırın. Tarama salt okunurdur.
tmaegis scan --target iis