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 JSON XSS, debe completar los siguientes pasos:

  1. Agregue el perfil de firewall de la aplicación como JSON.
  2. Configurar la acción JSON XSS para bloquear la carga malintencionada XSS

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 el contenido web JSON del ataque JSON XSS.

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

Salida de ejemplo para la infracción JSON XSS

JSONXSSAction: 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_XSS 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 JSON XSS para proteger su aplicación de ataques JSON Cross-Site Scripting. En el símbolo del sistema, escriba:

set appfw profile <name> - JSONXSSAction [block] [log] [stats] [none]

Ejemplo

set appfw profile profile1 –JSONXSSAction 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 - JSONXssAction” 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 (XSS) mediante Citrix GUI

Siga el procedimiento que se indica a continuación para establecer la configuración de protección entre sitios de scripts (XSS).

  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 JSON Cross-Site Scripting (XSS).
  5. Haga clic en el icono ejecutable situado cerca de la casilla de verificación.

    Comprobación de seguridad JSON XSS

  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 JSON XSS.
  8. Haga clic en Aceptar.

    Comprobación de seguridad JSON XSS

  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 JSON XSS

  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 JSON XSS