Citrix ADC

Comprobación de protección JSON Cross-Site Scripting

Si una carga JSON entrante tiene datos de scripts entre sitios maliciosos, WAF bloquea la solicitud. Los siguientes procedimientos explican cómo puede configurarlo a través de interfaces CLI y GUI.

Configurar la protección de scripts entre sitios JSON

Para configurar la protección de scripts entre sitios JSON, debe completar los siguientes pasos:

  1. Agregue el perfil de firewall de la aplicación como JSON.
  2. Configurar la acción de scripting entre sitios JSON para bloquear la carga maliciosa de scripts entre sitios

Agregar perfil de firewall de aplicaciones de tipo JSON

Primero debe crear un perfil que especifique cómo el firewall de la aplicación debe proteger su contenido web JSON del ataque de scripts entre sitios JSON.

En el símbolo del sistema, escriba:

add appfw profile <name> -type (HTML | XML | JSON)

Nota:

Al establecer el tipo de perfil como JSON, no se aplicarán otras comprobaciones como HTML o XML.

Ejemplo

add appfw profile profile1 –type JSON

Ejemplo de salida de la infracción de scripts entre sitios JSON

JSONcross-site scriptingAction: block log stats
Payload: {"username":"<a href="jAvAsCrIpT:alert(1)">X</a>","password":"xyz"}

Log message: Aug 19 06:57:33 <local0.info> 10.106.102.21 08/19/2019:06:57:33 GMT  0-PPE-0 : default APPFW APPFW_JSON_cross-site scripting 58 0 :  10.102.1.98 12-PPE0 - profjson http://10.106.102.24/ Cross-site script check failed for object value(with violation="Bad URL: jAvAsCrIpT:alert(1)") starting at offset(12). <blocked>

Counters
   1  357000                  1 as_viol_json_xss
   3  0                       1 as_log_json_xss
   5  0                       1 as_viol_json_xss_profile appfw__(profjson)
   7  0                       1 as_log_json_xss_profile appfw__(profjson)

Configurar la acción JSON Cross-Site Scripting

Debe configurar una o más acciones de scripts entre sitios JSON para proteger su aplicación contra ataques de scripts entre sitios JSON. En el símbolo del sistema, escriba:

set appfw profile <name> - JSONcross-site scriptingAction [block] [log] [stats] [none]

Ejemplo

set appfw profile profile1 –JSONcross-site scriptingAction block

Las acciones disponibles entre sitios de scripts son: Bloquear: Bloquear conexiones que infrinjan esta comprobación de seguridad. Registro: Registrar infracciones de esta comprobación de seguridad. Estadísticas: Generar estadísticas para esta comprobación de seguridad. Ninguno: Inhabilite todas las acciones para esta comprobación de seguridad.

Nota: Para habilitar una o más acciones, escriba “set appfw profile - JSONCross-Site ScriptingAction” seguido de las acciones que se van a habilitar.

Ejemplo

set appfw profile profile1 -JSONSQLInjectionAction block log stat

Configurar la protección JSON Cross Site Scripting (scripts entre sitios) mediante el uso de Citrix GUI

Siga el procedimiento siguiente para establecer la configuración de protección de scripts entre sitios (scripts entre sitios).

  1. En el panel de navegación, vaya a Seguridad > Perfiles.
  2. En la página Perfiles, haga clic en Agregar.
  3. En la página Perfil de Citrix Web App Firewall, haga clic en Comprobaciones de seguridad en Configuración avanzada.
  4. En la sección Comprobaciones de seguridad, vaya a la configuración de scripts entre sitios JSON (scripts entre sitios).
  5. Haga clic en el icono ejecutable situado cerca de la casilla de verificación.

    Comprobación de seguridad de scripts entre sitios JSON

  6. Haga clic en Configuración de acción para acceder a la página Configuración de scripts JSON Cross-Site.
  7. Seleccione las acciones de scripts entre sitios JSON.
  8. Haga clic en Aceptar.

    Comprobación de seguridad de scripts entre sitios JSON

  9. En la página Perfil de Citrix Web App Firewall, haga clic en Reglas de relajación en Configuración avanzada.
  10. En la sección Reglas de relajación, seleccione Configuración JSON Cross-Site Scripting y haga clic en Modificar.

    Comprobación de seguridad de scripts entre sitios JSON

  11. En la página JSON Cross-Site Scripting Relaxation Rule, haga clic en Agregar para agregar una regla de relajación JSON Cross-Site Scripting.
  12. Introduzca la URL a la que se debe enviar la solicitud. Todas las solicitudes enviadas a esta URL no se bloquearán.
  13. Haga clic en Crear.

    Comprobación de seguridad de scripts entre sitios JSON

Comprobación de protección JSON Cross-Site Scripting