Citrix ADC

JSON 跨站点脚本保护检查

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

配置 JSON 跨站点脚本保护

要配置 JSON 跨站点脚本保护,必须完成以下步骤:

  1. 将应用程序防火墙配置文件添加为 JSON。
  2. 配置 JSON 跨站点脚本操作以阻止跨站脚本恶意负载

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

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

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

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

注意

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

示例

add appfw profile profile1 –type JSON

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)

配置 JSON 跨站点脚本操作

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

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

示例

set appfw profile profile1 –JSONcross-site scriptingAction block

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

注意: 要启用一个或多个操作,请键入 “设置 appfw 配置文件-JSONCROSite 脚本操作”,然后键入要启用的操作。

示例

set appfw profile profile1 -JSONSQLInjectionAction block log stat

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

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

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

    JSON 跨站点脚本安全检查

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

    JSON 跨站点脚本安全检查

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

    JSON 跨站点脚本安全检查

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

    JSON 跨站点脚本安全检查

JSON 跨站点脚本保护检查