Citrix ADC

JSON SQL注入保护检查

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

考虑一个场景,其中客户端向Citrix 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注入攻击。在命令提示符处,输入:

添加appfw配置文件 -type (HTML | XML | JSON)

请注意

将概要文件类型设置为JSON时,其他检查(如HTML或XML)将不适用。

例子

add appfw profile profile1 -type JSON

配置JSON SQL注入动作

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

set appfw profile - JSONSQLInjectionAction [block] [log] [stats] [none]参数说明

SQL注入操作包括:阻塞-阻塞违反此安全检查的连接。日志-违反安全检查的日志。Stats -生成此安全检查的统计信息。无-禁用此安全检查的所有操作。

配置JSON SQL注入类型

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

set appfw profile - JSONSQLInjectionType . log . log . log . log . log . log . log . log

例子

设置appfw配置文件配置文件1-JSONSQLInjectionType SQLKeyword

可用的SQL注入类型包括:可用的SQL注入类型。SQLSplChar。检查SQL特殊字符,SQLKeyword。检查SQL关键字。SQLSplCharANDKeyword。检查两者和块,如果发现。SQLSplCharORKeyword。。如果发现SQL特殊字符或spl关键字,则阻塞。可选值:SQLSplChar、SQLKeyword、SQLSplCharORKeyword、SQLSplCharANDKeyword。

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

例子

设置appfw配置文件配置文件1-JSONSQLInjectionAction块日志统计

下面的示例显示了一个样本负载,它对应的日志消息和统计计数器:

Payload: ======= {"test": "data", "username": "waf", "password": "select * from t1;", "details": {"surname": "test", "age": "23"}}日志信息:=========== 08/19/2019:08:49:46 GMT pegasus121 Informational 0- pe -0: default APPFW APPFW_JSON_SQL 6656 0:10.217.32.165 18402 - ppe0 profjson http://10.217.32.147/test.html SQL关键字检查失败的对象值(违反=“选择(,)”)开始抵消(52)< >阻塞计数器 : ======== 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防火墙配置文件页面,点击安全检查高级设置
  4. 安全检查部分,去JSON SQL注入设置。
  5. 单击复选框附近的可执行图标。

    JSON SQL注入安全检查

  6. 点击动作设置访问JSON SQL注入设置页面。
  7. 选择JSON SQL注入行动。
  8. 点击好啊

    JSON SQL注入安全检查

  9. Citrix Web App防火墙配置文件页面,点击放松规则高级设置
  10. 放松规则部分中,选择JSON SQL注入设置并单击编辑

    JSON SQL注入安全检查

  11. 在JSON SQL注入放松规则页面中,输入请求必须发送到的URL。所有发送到此URL的请求都不会被阻止。
  12. 点击创造

    JSON SQL注入安全检查

JSON SQL注入保护检查