Request Filtering requestFiltering <>
Panoramica
Il filtro delle richieste è una funzionalità di sicurezza predefinita introdotta in Internet Information Services (IIS) 7.0 e sostituisce gran parte delle funzionalità disponibili tramite il componente aggiuntivo UrlScan per IIS 6.0. Tutte le impostazioni per la funzionalità di filtro delle richieste si trovano all'interno dell'elemento <requestFiltering>
, che contiene diversi elementi figlio per ognuna delle aree di funzionalità seguenti:
<denyUrlSequences>
- Questo elemento può contenere una raccolta di modelli di sequenza URL che IIS 7 negherà; ad esempio: è possibile negare parti di sequenze URL che un utente malintenzionato potrebbe tentare di sfruttare.<fileExtensions>
- Questo elemento può contenere una raccolta di estensioni di file che IIS 7 negherà o consentirà; ad esempio: è possibile bloccare tutte le richieste di Web.config file.<hiddenSegments>
- Questo elemento può contenere una raccolta di URL che non possono essere esplorati; ad esempio: è possibile negare le richieste per la cartella ASP.NET App_Code.<requestLimits>
- Questo elemento contiene le impostazioni per le lunghezze di URL, contenuto e stringa di query. Può anche contenere una raccolta di lunghezze massime definite dall'utente per le intestazioni HTTP.<verbs>
- Questo elemento può contenere una raccolta di verbi HTTP che IIS 7 negherà o consentirà; ad esempio: è possibile bloccare tutte le richieste HTTP TRACE.
Novità di IIS 7.5
IIS 7.5 ha aggiunto diverse aree di funzionalità aggiuntive per il filtro delle richieste:
<alwaysAllowedUrls>
- Questo elemento può contenere una raccolta di URL che richiedono filtri consentirà sempre.<alwaysAllowedQueryStrings>
-Questo elemento può contenere stringhe di query di raccolta di tale filtro richieste consentirà sempre.<denyQueryStringSequences>
- Questo elemento può contenere una raccolta di sequenze di stringhe di query che richiedono il filtro negherà sempre. Ciò consente agli amministratori di bloccare sequenze di stringhe di query potenzialmente pericolose rilevate.<filteringRules>
- Questo elemento può contenere una raccolta di regole di filtro delle richieste personalizzate. Questa raccolta consente agli amministratori di creare regole di filtro delle richieste personalizzate per criteri specifici.
Novità di IIS 10.0
IIS 10.0 ha aggiunto l'attributo removeServerHeader
per eliminare l'invio dell'intestazione del server HTTP ai client remoti.
Codici di stato secondario errore HTTP 404
Quando il filtro delle richieste blocca una richiesta HTTP, IIS 7 restituisce un errore HTTP 404 al client e registra lo stato HTTP con uno stato secondario univoco che identifica il motivo per cui la richiesta è stata negata. Ad esempio:
Stato secondario HTTP | Descrizione |
---|---|
404.5 |
Sequenza URL negata |
404.6 |
Verbo negato |
404.7 |
Estensione file negata |
404.8 |
Spazio dei nomi nascosto |
404.11 |
URL doppio carattere di escape |
404.12 |
URL ha caratteri di bit elevati |
404.14 |
URL troppo lungo |
404.15 |
Stringa di query troppo lunga |
404.18 |
Sequenza di stringhe di query negata |
404.19 |
Negata dalla regola di filtro |
413.1 |
Lunghezza contenuto troppo grande |
431 |
Intestazione richiesta troppo lunga |
Questi stati secondari consentono agli amministratori Web di analizzare i log IIS e identificare potenziali minacce.
Compatibilità
Versione | Note |
---|---|
IIS 10.0 | La possibilità di eliminare l'intestazione del server è stata aggiunta in IIS 10.0. |
IIS 8,5 | L'elemento <requestFiltering> non è stato modificato in IIS 8.5. |
IIS 8,0 | L'elemento <requestFiltering> non è stato modificato in IIS 8.0. |
IIS 7,5 | In IIS 7.5, il filtro delle richieste viene fornito con l'attributo unescapeQueryString e gli alwaysAllowedUrls elementi , alwaysAllowedQueryStrings , denyQueryStringSequences e filteringRules . Questi elementi sono stati introdotti per la prima volta come aggiornamento per IIS 7.0 disponibili tramite l'articolo della Microsoft Knowledge Base 957508 (https://support.microsoft.com/kb/957508 ). |
IIS 7.0 | L'elemento <requestFiltering> è stato introdotto in IIS 7.0. |
IIS 6.0 | L'elemento <requestFiltering> sostituisce le funzionalità UrlScan di IIS 6.0. |
Installazione
L'installazione predefinita di IIS 7 e versioni successive include il servizio ruolo o la funzionalità Filtro richieste. Se la funzionalità o il servizio ruolo Filtro richieste viene disinstallata, è possibile reinstallarla seguendo questa procedura.
Windows Server 2012 o Windows Server 2012 R2
- Sulla barra delle applicazioni fare clic su Server Manager.
- In Server Manager fare clic sul menu Gestisci e quindi su Aggiungi ruoli e funzionalità.
- Nella procedura guidata Aggiungi ruoli e funzionalità fare clic su Avanti. Selezionare il tipo di installazione e fare clic su Avanti. Selezionare il server di destinazione e fare clic su Avanti.
- Nella pagina Ruoli server espandere Server Web (IIS), server Web, serverWeb, sicurezzae quindi selezionare Filtro richieste. Fare clic su Avanti.
. - Nella pagina Selezione funzionalità fare clic su Avanti.
- Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
- Nella pagina Risultati fare clic su Chiudi.
Windows 8 o Windows 8.1
- Nella schermata Start spostare il puntatore fino all'angolo inferiore sinistro, fare clic con il pulsante destro del mouse sul pulsante Start e quindi scegliere Pannello di controllo.
- In Pannello di controllo fare clic su Programmi e funzionalità e quindi su Attiva o disattiva funzionalità di Windows.
- Espandere Internet Information Services, servizi Web a livello globale, sicurezza, quindi selezionare Filtro richieste.
- Fare clic su OK.
- Fare clic su Close.
Windows Server 2008 o Windows Server 2008 R2
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Server Manager.
- Nel riquadro della gerarchia Server Manager espandere Ruoli, quindi fare clic su Server Web (IIS).
- Nel riquadro Server Web (IIS) scorrere fino alla sezione Servizi ruolo e quindi fare clic su Aggiungi servizi ruolo.
- Nella pagina Selezione servizi ruolo della Procedura guidata Aggiungi servizi ruolo selezionare Filtro richieste e quindi fare clic su Avanti.
- Nella pagina Conferma selezioni per l'installazione fare clic su Installa.
- Nella pagina Risultati fare clic su Chiudi.
Windows Vista o Windows 7
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- In Pannello di controllo fare clic su Programmi e funzionalità e quindi su Attiva o disattiva funzionalità di Windows.
- Espandere Internet Information Services, quindi Servizi Web a livello mondiale, quindi Sicurezza.
- Selezionare Filtro richieste e quindi fare clic su OK.
Procedure
Nota per gli utenti di IIS 7.0: alcuni passaggi di questa sezione potrebbero richiedere l'installazione del Microsoft Administration Pack per IIS 7.0, che include un'interfaccia utente per il filtro delle richieste. Per installare Microsoft Administration Pack per IIS 7.0, vedere l'URL seguente:
Come modificare le impostazioni delle funzionalità di filtro delle richieste e i limiti delle richieste
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si desidera modificare le impostazioni di filtro delle richieste.
Fare clic su Modifica impostazioni funzionalità nel riquadro Azioni .
Specificare le opzioni e quindi fare clic su OK.
Ad esempio, è possibile apportare le modifiche seguenti:- Modificare la lunghezza massima dell'URL in 2 KB specificando 2048.
- Modificare la lunghezza massima della stringa di query in 1 KB specificando 1024.
- Negare l'accesso ai verbi HTTP non elencati deselezionando la casella di controllo Consenti verbi non elencati .
Come negare una sequenza di URL
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si desidera modificare le impostazioni di filtro delle richieste.
Nel riquadro Filtro richieste fare clic sulla scheda Sequenze URL nega e quindi su Aggiungi sequenza URL nel riquadro Azioni .
Nella finestra di dialogo Aggiungi sequenza di rifiuto immettere la sequenza di URL che si desidera bloccare e quindi fare clic su OK.
Ad esempio, per impedire la transversazione della directory nel server, immettere due punti ("..") nella finestra di dialogo.
Come negare l'accesso a un'estensione di file specifica
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si desidera modificare le impostazioni di filtro delle richieste.
Nel riquadro Filtro richieste fare clic sulla scheda Estensioni nome file e quindi su Nega estensione file... nel riquadro Azioni .
Nella finestra di dialogo Nega estensione file immettere l'estensione del nome file che si desidera bloccare e quindi fare clic su OK.
Ad esempio, per impedire l'accesso ai file con estensione .inc, immettere "inc" nella finestra di dialogo.
Come aggiungere un segmento nascosto
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si desidera modificare le impostazioni di filtro delle richieste.
Nel riquadro Filtro richieste fare clic sulla scheda Segmenti nascosti e quindi su Aggiungi segmento nascosto nel riquadro Azioni .
Nella finestra di dialogo Aggiungi segmento nascosto immettere il percorso relativo che si desidera nascondere e quindi fare clic su OK.
Come aggiungere limiti per le intestazioni HTTP
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Sulla barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Sulla barra delle applicazioni fare clic su Start e quindi su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione, quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si desidera modificare le impostazioni di filtro delle richieste.
Nel riquadro Filtro richieste fare clic sulla scheda Intestazioni e quindi su Aggiungi intestazione nel riquadro Azioni .
Nella finestra di dialogo Aggiungi intestazione immettere l'intestazione HTTP e le dimensioni massime desiderate per il limite di intestazione, quindi fare clic su OK.
Ad esempio, l'intestazione "Content-type" contiene il tipo MIME per una richiesta. Se si specifica un valore pari a 100, la lunghezza dell'intestazione "Content-type" viene limitata a 100 byte.
Come negare un verbo HTTP
Aprire Gestione Internet Information Services (IIS):
Se si usa Windows Server 2012 o Windows Server 2012 R2:
- Sulla barra delle applicazioni fare clic su Server Manager, scegliere Strumenti, quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows 8 o Windows 8.1:
- Tenere premuto il tasto Windows, premere la lettera X e quindi fare clic su Pannello di controllo.
- Fare clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Se si usa Windows Server 2008 o Windows Server 2008 R2:
- Nella barra delle applicazioni fare clic su Start, scegliere Strumenti di amministrazione e quindi fare clic su Gestione Internet Information Services (IIS).
Se si usa Windows Vista o Windows 7:
- Nella barra delle applicazioni fare clic su Start e quindi fare clic su Pannello di controllo.
- Fare doppio clic su Strumenti di amministrazione e quindi fare doppio clic su Gestione Internet Information Services (IIS).
Nel riquadro Connessioni passare alla connessione, al sito, all'applicazione o alla directory per cui si desidera modificare le impostazioni di filtro delle richieste.
Nel riquadro Filtro richieste fare clic sulla scheda Verbi HTTP e quindi fare clic su Nega verbo ... nel riquadro Azioni .
Nella finestra di dialogo Nega verbo immettere il verbo HTTP da bloccare e quindi fare clic su OK.
Ad esempio, per impedire richieste HTTP TRACE al server, immettere "TRACE" nella finestra di dialogo.
Configurazione
Attributi
Attributo | Descrizione |
---|---|
allowDoubleEscaping |
Attributo booleano facoltativo. Se impostato su true, il filtro delle richieste consentirà gli URL con caratteri di escape doubly. Se impostato su false, il filtro delle richieste nega la richiesta se i caratteri di escape sono presenti due volte negli URL. Il valore predefinito è false . |
allowHighBitCharacters |
Attributo booleano facoltativo. Se impostato su true, il filtro delle richieste consentirà caratteri non ASCII negli URL. Se impostato su false, il filtro delle richieste nega la richiesta se i caratteri a bit elevato sono presenti negli URL. Il valore predefinito è true . |
removeServerHeader |
Attributo booleano facoltativo. Se impostato su true, il filtro delle richieste elimina l'intestazione del server IIS. Se impostato su false, IIS restituirà l'intestazione del server predefinita. Nota: questo attributo è stato aggiunto in IIS 10.0 e non funziona nelle versioni di Windows precedenti a Windows Server, versione 1709 o Windows 10, versione 1709. Il valore predefinito è false . |
unescapeQueryString |
Attributo booleano facoltativo. Se impostato su true, il filtro delle richieste eseguirà due passaggi per ogni analisi della stringa di query. Il primo passaggio analizzerà la stringa di query non elaborata e il secondo pass analizzerà la stringa di query dopo che IIS ha decodificato tutte le sequenze di escape. Se impostato su false, il filtro delle richieste esaminerà solo la stringa di query non elaborata come inviata dal client. Nota: Questo attributo è stato aggiunto in IIS 7.5. Il valore predefinito è true . |
Elementi figlio
Elemento | Descrizione |
---|---|
alwaysAllowedQueryStrings |
Elemento facoltativo. Specifica una raccolta di stringhe di query che richiedono il filtro consentirà sempre. Nota: Questo elemento è stato aggiunto in IIS 7.5. |
alwaysAllowedUrls |
Elemento facoltativo. Specifica una raccolta di URL che richiedono il filtro consentirà sempre. Nota: Questo elemento è stato aggiunto in IIS 7.5. |
denyQueryStringSequences |
Elemento facoltativo. Specifica una raccolta di sequenze di stringhe di query che richiedono il filtro nega sempre. Nota: Questo elemento è stato aggiunto in IIS 7.5. |
denyUrlSequences |
Elemento facoltativo. Specifica le sequenze che devono essere negate per impedire attacchi basati su URL nel server Web. |
fileExtensions |
Elemento facoltativo. Specifica quali estensioni di file sono consentite o negate per limitare i tipi di richieste inviate al server Web. |
filteringRules |
Elemento facoltativo. Specifica una raccolta di regole di filtro delle richieste personalizzate. Nota: Questo elemento è stato aggiunto in IIS 7.5. |
hiddenSegments |
Elemento facoltativo. Specifica che alcuni segmenti di URL possono essere resi inaccessibili ai client. |
requestLimits |
Elemento facoltativo. Specifica i limiti delle richieste elaborate dal server Web. |
verbs |
Elemento facoltativo. Specifica quali verbi HTTP sono consentiti o negati per limitare i tipi di richieste inviate al server Web. |
Esempio di configurazione
L'esempio di configurazione seguente da un file di Web.config esegue diverse attività correlate alla sicurezza:
- Nega l'accesso a due sequenze DI URL. La prima sequenza impedisce la transversa della directory e la seconda sequenza impedisce l'accesso ai flussi di dati alternativi.
- Nega l'accesso alle estensioni di file non elencate e ai verbi HTTP non elencati.
- Imposta la lunghezza massima per un URL su 2 KB e la lunghezza massima per una stringa di query su 1 KB.
<configuration>
<system.webServer>
<security>
<requestFiltering>
<denyUrlSequences>
<add sequence=".." />
<add sequence=":" />
</denyUrlSequences>
<fileExtensions allowUnlisted="false" />
<requestLimits maxUrl="2048" maxQueryString="1024" />
<verbs allowUnlisted="false" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
Codice di esempio
Gli esempi di codice seguenti illustrano come negare l'accesso a tre sequenze DI URL per il sito Web predefinito: flussi di dati alternativi (".."), flussi di dati alternativi (":"), e barre rovesciata ("").
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='..']"
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence=':']"
appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='\']"
PowerShell
Start-IISCommitDelay
$denyUrlSequences = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'denyUrlSequences'
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '..' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = ':' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '\' }
Stop-IISCommitDelay
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetWebConfiguration("Default Web Site");
ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");
ConfigurationElementCollection denyUrlSequencesCollection = requestFilteringSection.GetCollection("denyUrlSequences");
ConfigurationElement addElement = denyUrlSequencesCollection.CreateElement("add");
addElement["sequence"] = @"..";
denyUrlSequencesCollection.Add(addElement);
ConfigurationElement addElement1 = denyUrlSequencesCollection.CreateElement("add");
addElement1["sequence"] = @":";
denyUrlSequencesCollection.Add(addElement1);
ConfigurationElement addElement2 = denyUrlSequencesCollection.CreateElement("add");
addElement2["sequence"] = @"\";
denyUrlSequencesCollection.Add(addElement2);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")
Dim denyUrlSequencesCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("denyUrlSequences")
Dim addElement As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
addElement("sequence") = ".."
denyUrlSequencesCollection.Add(addElement)
Dim addElement1 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
addElement1("sequence") = ":"
denyUrlSequencesCollection.Add(addElement1)
Dim addElement2 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
addElement2("sequence") = "\"
denyUrlSequencesCollection.Add(addElement2)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection;
var addElement = denyUrlSequencesCollection.CreateNewElement("add");
addElement.Properties.Item("sequence").Value = "..";
denyUrlSequencesCollection.AddElement(addElement);
var addElement1 = denyUrlSequencesCollection.CreateNewElement("add");
addElement1.Properties.Item("sequence").Value = ":";
denyUrlSequencesCollection.AddElement(addElement1);
var addElement2 = denyUrlSequencesCollection.CreateNewElement("add");
addElement2.Properties.Item("sequence").Value = "\\";
denyUrlSequencesCollection.AddElement(addElement2);
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection
Set addElement = denyUrlSequencesCollection.CreateNewElement("add")
addElement.Properties.Item("sequence").Value = ".."
denyUrlSequencesCollection.AddElement(addElement)
Set addElement1 = denyUrlSequencesCollection.CreateNewElement("add")
addElement1.Properties.Item("sequence").Value = ":"
denyUrlSequencesCollection.AddElement(addElement1)
Set addElement2 = denyUrlSequencesCollection.CreateNewElement("add")
addElement2.Properties.Item("sequence").Value = "\"
denyUrlSequencesCollection.AddElement(addElement2)
adminManager.CommitChanges()