ADC

JSON SQL 注入保护检查

传入的 JSON 请求可以以部分 SQL 查询字符串或代码中未经授权的命令的形式进行 SQL 注入。这会导致从Web服务器的JSON数据库中窃取数据。收到此类请求后,设备会阻止此类请求以保护您的数据。

考虑以下情况:客户端向 NetScaler ADC 设备发送 JSON SQL 请求,JSON 解析器解析请求负载,如果观察到 SQL 注入,则设备会对 JSON SQL 内容实施约束。该约束对 JSON SQL 请求实施大小限制。因此,如果观察到任何 JSON SQL 注入,设备将应用操作并使用 JSON SQL 错误页面进行响应。

配置 JSON SQL 注入保护

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

  1. 将应用程序防火墙配置文件添加为 JSON。
  2. 为 JSON SQL 注入设置设置设置应用程序防火墙配置文件
  3. 通过绑定应用程序防火墙配置文件来配置 JSON SQL 操作。

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

您必须首先创建一个配置文件,指定应用程序防火墙必须如何保护您的 JSON Web 内容免受 JSON SQL 注入攻击。 在命令提示符下,键入:

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

注意

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

示例

add appfw profile profile1 –type JSON

配置 JSON SQL 注入操作

您必须配置一个或多个 JSON SQL 注入操作来保护您的应用程序免受 JSON SQL 注入攻击。 在命令提示符下,键入:

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

SQL 注入操作包括: 阻止- 阻止违反此安全检查的连接。 日志-记录此安全检查的冲突情况。 统计信息-为此安全检查生成统计信息。 无-禁用此安全检查的所有操作。

配置 JSON SQL 注入类型

要在应用程序防火墙配置文件上配置 JSON SQL 注入类型,请在命令提示符下键入:

set appfw profile <name> - JSONSQLInjectionType <JSONSQLInjectionType>

示例

set appfw profile profile1 -JSONSQLInjectionType SQLKeyword

其中可用的 SQL 注入类型是: 可用的 SQL 注入类型。 SQLSplChar。检查 SQL 特殊字符、 SQLKeyword。检查 SQL 关键字。 SQLSplCharANDKeyword。如果找到,将同时检查和阻塞。 SQLSplCharORKeyword。如果找到 SQL 特殊字符或 spl 关键字,则阻塞。 可能的值:SQLSplChar、SQLKeyword、SQLSplCharORKeyword、SQLSplCharANDKeyword。

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

示例

set appfw profile profile1 -JSONSQLInjectionAction block log stat

以下示例显示了一个示例有效负载、其对应的日志消息和统计信息计数器:

Payload:
=======
{
  "test": "data",
  "username": "waf",
  "password": "select * from t1;",
  "details": {
    "surname": "test",
    "age": "23"
  }
}

Log Message:
===========
08/19/2019:08:49:46 GMT pegasus121 Informational 0-PPE-0 : default APPFW APPFW_JSON_SQL 6656 0 :  10.217.32.165 18402-PPE0 - profjson http://10.217.32.147/test.html SQL Keyword check failed for object value(with violation="select(;)") starting at offset(52) <blocked>
Counters:
========
   1  441083             1 as_viol_json_sql
   3       0             1 as_log_json_sql
   5       0             1 as_viol_json_sql_profile appfw__(profjson)
   7       0             1 as_log_json_sql_profile appfw__(profjson)
<!--NeedCopy-->

使用 Citrix GUI 配置 JSON SQL 注入保护

请按照以下步骤设置 JSON SQL 注入保护设置。

  1. 在导航窗格上,导航到“安全”>“配置文件”。
  2. 配置文件页面中,单击添加
  3. Citrix Web App Firewall 配置文件页面中,单击“高级设置”下的“安全检查”。
  4. 在“安全检查”部分中,转到 JSON SQL 注入 设置。
  5. 单击复选框附近的可执行文件图标。
  6. 单击 操作设置 以访问 JSON SQL 注入设置 页面。
  7. 选择 JSON SQL 注入 操作。
  8. 单击确定
  9. Citrix Web App Firewall 配置文件 页面中,单击 高级设置 下的 放宽规则
  10. 放宽规则 部分中,选择 JSON SQL 注入 设置,然后单击 编辑
  11. 在 JSON SQL 注入放宽规则页面中,输入请求必须发送到的 URL。发送到此 URL 的所有请求都不会被阻止。
  12. 单击创建

    JSON SQL 注入安全检查

JSON SQL 注入保护检查