Citrix ADC

JSON 跨站点脚本保护检查

如果传入 JSON 负载包含恶意跨站点脚本数据,WAF 会阻止请求。以下过程说明如何通过 CLI 和 GUI 界面进行配置。

配置 JSON 跨站点脚本保护

要配置 JSON XSS 保护,您必须完成以下步骤:

  1. 将应用程序防火墙配置文件添加为 JSON。
  2. 配置 JSON XSS 操作以阻止 XSS 恶意有效负载

添加 JSON 类型的应用程序防火墙配置文件

您必须首先创建一个配置文件,指定应用程序防火墙必须如何保护您的 JSON Web 内容免受 JSON XSS 攻击。

在命令提示窗口中,键入:

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

注意

将配置文件类型设置为 JSON 时,HTML 或 XML 等其他检查将不适用。

示例

add appfw profile profile1 –type JSON

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)

配置 JSON 跨站点脚本操作

您必须配置一个或多个 JSON XSS 操作,以保护您的应用程序免受 JSON 跨站点脚本攻击。 在命令提示窗口中,键入:

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

示例

set appfw profile profile1 –JSONXSSAction block

可用的跨站点脚本操作包括: 阻止-阻止冲突此安全检查的连接。 日志-记录此安全检查的冲突情况。 统计数据-为此安全检查生成统计数据。 无-禁用此安全检查的所有操作。

注意: 要启用一个或多个操作,请键入“set appfw profile - JSONXSSAction”,然后键入要启用的操作。

示例

set appfw profile profile1 -JSONSQLInjectionAction block log stat

使用 Citrix GUI 配置 JSON 跨站脚本 (XSS) 保护

按照以下步骤设置跨站点脚本 (XSS) 保护设置。

  1. 在导航窗格中,导航到安全 > 配置文件
  2. 配置文件页中,单击添加
  3. Citrix Web App Firewall 配置文件页面中,单击高级设置下的安全检查
  4. 安全检查部分,转到 JSON 跨站点脚本 (XSS) 设置。
  5. 单击复选框附近的可执行文件图标。

    JSON XSS 安全检查

  6. 单击 操作设置 以访问 JSON 跨站点脚本设置 页面。
  7. 选择 JSON XSS 操作。
  8. 单击确定

    JSON XSS 安全检查

  9. Citrix Web App Firewall 配置文件 页面中,单击高级设置下的放宽规则
  10. 放宽规则部分中,选择 JSON 跨站点脚本设置,然后单击编辑

    JSON XSS 安全检查

  11. JSON 跨站点脚本放宽规则 页面中,单击 添加 以添加 JSON 跨站点脚本放宽规则。
  12. 输入请求必须发送到的 URL。发送到此 URL 的所有请求都不会被阻止。
  13. 单击创建

    JSON XSS 安全检查

JSON 跨站点脚本保护检查