Elemento <quitar> para schemeSettings (configuración de URI)
Agrega una configuración de esquema para un nombre de esquema.
<configuración>
<URI>
<schemeSettings>
<quitar>
Sintaxis
<remove
name="http|https"
/>
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Atributos
Atributo | Descripción |
---|---|
name | Nombre de esquema para el que se aplica esta configuración. Los únicos valores admitidos son name="http" y name="https". |
Elementos secundarios
Ninguno.
Elementos primarios
Elemento | Descripción |
---|---|
Elemento <schemeSettings> (Configuración URI) | Especifica cómo se analizará un Uri para esquemas concretos. |
Comentarios
De forma predeterminada, la clase System.Uri no escapa a los delimitadores de ruta de acceso de codificados por el porcentaje antes de ejecutar la compresión de ruta de acceso. Esto se implementó como un mecanismo de seguridad contra ataques como el siguiente:
http://www.contoso.com/..%2F..%2F/Windows/System32/cmd.exe?/c+dir+c:\
Si este URI se pasa correctamente a los módulos que no controlan los caracteres codificados por porcentaje correctamente, podría dar lugar a que el servidor ejecute el siguiente comando:
c:\Windows\System32\cmd.exe /c dir c:\
Por este motivo, la clase System.Uri no escapa primero a los delimitadores de ruta de escape y, después, aplica la compresión de ruta de acceso. El resultado de pasar la dirección URL malintencionada anterior al constructor de clase System.Uri da como resultado el siguiente URI:
http://www.microsoft.com/Windows/System32/cmd.exe?/c+dir+c:\
Este comportamiento predeterminado se puede modificar mediante la opción de configuración schemeSettings para un esquema específico.
Archivos de configuración
Este elemento se puede usar en el archivo de configuración de la aplicación o en el archivo de configuración del equipo (Machine.config).
Ejemplo
En el ejemplo siguiente se muestra una configuración usada por la clase Uri que quita cualquier configuración de esquema para el esquema http.
<configuration>
<uri>
<schemeSettings>
<remove name="http"/>
</schemeSettings>
</uri>
</configuration>