Citrix ADC

Protección basada en gramática SQL para cargas útiles HTML y JSON

Citrix Web应用防火墙使用巧合保护对检测的方法inyección SQL enJSONcargas跑龙套HTTPy ataques de inyección SQL。El enfoque usage un conjunto palabras clave predefinidas y (o) caracteres speciales para detectar un ataque y marcarlo como una violación。我们的效果好极了,卢格的卢格的正法尔索斯的卢格的añadir una o más reglas de relajación。特别cuando se utizan palabras de uso común como“选择”y“de”en una solicitud HTTP o JSON。Podemos reducir los falsos positivos implementando la comprobación de protección语法SQL超文本标记语言y拉JSONcarga跑龙套。

在存在的庇佑的巧合中,可以识别的东西inyección SQL si hay una palabra clave预定义的东西carácter特别的需要关心的HTTP。En este caso, la instrucción no tiene por qué ser una sentence SQL válida。Pero en el enfoque basado en gramática, un ataque de inyección SQL solo se detecta si una palabra clave o un carácter特别están presentes en una instrucción SQL o forma parte de una senencia SQL, lo que reduce los casos falsos positivos。

Caso de uso de protección basada en gramática SQL

体贴的declaración,“选择我的entradas y veámonos en union station”Aunque la instrucción没有句子SQL válida, el enfoque de巧合de庇护存在的探测la关怀como unataque de inyección SQL porque la instrucción利用palabras clave como " Seleccionar ", " y " y " Unión "。Sin禁运,en el caso del enfoque语法SQL, la instrucción no se detecta como un ataque de infracción porque las palabras clave no están presentes en unsentcia SQL válida o no forman parte de unsentcia SQL válida。

El enfoque basado en gramática también se puede configuration para detectar ataques de inyección SQL enJSONcargas跑龙套。Para añadir una regla de relajación, puede reutilizar las reglas de relajación存在。Las reglas de relajación detalladas también se aplican ala gramática SQL,一个Las reglas con“palabra clave”“ValueType”。恩拉gramáticaJSONSQL, se puede reutilitzar el método basado en URL existente。

configuration la protección basada en gramática SQL mediante la CLI

Para implementar la detección basada en gramática SQL, debe configuration el parámetro " SQLjectionGrammar " en el perfil de Web App Firewall。形式上的预先决定,el parámetro está居住者。Se admit todas las acciones de inyección SQL的存在是例外的。Cualquier nuevo perfil creado después de una actualización admite la gramática de inyección SQL y sigue teniendo el tipo predeterminado como " carácter特别o palabra clave " y debe habilitarse explícitamente。

En el símbolo del sistema, escriba:

添加appfw profile  -SQLInjectionAction  -SQLInjectionGrammar ON/OFF 

比如:

添加appfw profile profile1 -SQLInjectionAction Block -SQLInjectionGrammar ON

Configurar la protección de coincidencia de patones SQL y la protección basada en gramática mediante la CLI

Si ha habilitado enfoques gramaticales y de coincidendia, el dispositivo实现初始la detección basada en gramática y, Si hay detección de inyección SQL con el tipo de acción建立para bloquear, la coricitud se bloquea (sin verificar la detección mediante la coincidencia de)。

En el símbolo del sistema, escriba:

add appfw profile  -SQLInjectionAction  -SQLInjectionGrammar ON -SQLInjectionType <除' None '以外的任何动作:SQLSplCharANDKeyword/ SQLSplCharORKeyword/ SQLSplChar/ SQLKeyword> 

比如:

添加appfw profile p1 - sqlinjectionaction block - SQLInjectionGrammar ON - sqlinjectiontype SQLSplChar

configuration la comprobación de inyección SQL solo con protección basada en gramática mediante la CLI

En el símbolo del sistema, escriba:

add appfw profile  -SQLInjectionAction  -SQLInjectionGrammar ON -SQLInjectionType None 

比如:

add appfw profile p1 - sqlinjectionaction block - SQLInjectionGrammar ON - sqlinjectiontype无

Vincular reglas de relajación para la protección basada en gramática SQL mediante la CLI

Si su aplicación requiere queSQLomita la comprobación de inyección de un“元素”o“ATRIBUTO”específico en la carga útil, debe configurar una regla de relajación。

注:

Las reglas de relajación con la“palabra clave”de ValueType se evalúan solo cuando el dispositivo realiza la detección medianteSQLgramatica。

埃尔SQL突击队relajación de inspección por inyección tiene la siguiente sintaxis。En el símbolo del sistema, escriba:

bind appfw profile  -SQLInjection  [isRegex(REGEX| NOTREGE)]  [-location ] [-valueType (Keywor|SpecialString|Wildchar) [][-isValueRegex (REGEX| NOTREGEX)]] 

比如:

绑定appfw profile p1 -sqlinjection ABC http://10.10.10.10/绑定appfw profile p1 -sqlinjection 'abc[0-9]+' http://10.10.10.10/ -isregex regEX绑定appfw profile p1 -sqlinjection 'name' http://10.10.10.10/ -valueType关键字'selec[a-z]+' -isvalueRegex regEX

配置la protección basada en gramática SQL para la carga útil JSON中介la CLI

Para implementar la detección basada en gramática SQL Para la carga útil JSON, debe configuration el parámetro " JSONSQLjectionGrammar " en el perfil de Web应用程序防火墙。形式上的预先决定,el parámetro está居住者。Se admit todas las acciones de inyección SQL的存在是例外的。Cualquier nuevo perfil creado después de una actualización admite la gramática de inyección SQL y sigue teniendo el tipo predeterminado como " carácter特别o palabra clave " y debe habilitarlo explícitamente。

En el símbolo del sistema, escriba:

添加appfw profile  -type JSON -JSONSQLInjectionAction  -JSONSQLInjectionGrammar ON/OFF 

比如:

添加appfw profile profile1 -type JSON -JSONSQLInjectionAction Block -JSONSQLInjectionGrammar ON

Configurar la protección de coincidencia de patones SQL y la protección basada en gramática mediante la CLI

Si ha habilitado与语法和庇护的巧合,el dispositivo实现的primero la detección basada en gramática y, Si hay detección de inyección SQL con el tipo de acción建立para bloquear, la solicitud se bloquea (sin verificar la detección mediante巧合de庇护)。

注:

Las reglas de relajación con la“palabra clave”de ValueType se evalúan solo cuando el dispositivo realiza la detección mediante gramática SQL。

En el símbolo del sistema, escriba:

add appfw profile  -type JSON -JSONSQLInjectionAction  -JSONSQLInjectionGrammar ON -JSONSQLInjectionType <除' None '以外的任何动作:SQLSplCharANDKeyword/ SQLSplCharORKeyword/ SQLSplChar/ SQLKeyword> 

比如:

添加appfw profile p1 - type JSON - jsonsqlinjectionaction block - JSONSQLInjectionGrammar ON - jsonsqlinjectiontype SQLSplChar

配置la protección basada en gramática SQL para la carga útil JSON中介la CLI

En el símbolo del sistema, escriba:

add appfw profile  -type JSON -JSONSQLInjectionAction  -JSONSQLInjectionGrammar ON -JSONSQLInjectionType None ' \ 

比如:

add appfw profile p1 - type JSON - jsonsqlinjectionaction block - JSONSQLInjectionGrammar ON - jsonsqlinjectiontype无

Vincular reglas de relajación basadas en URL para la protección basada en gramática JSON SQL mediante la CLI

Si su aplicación requiere que omita la inspección de inyección deJSON突击队para un " ELEMENTO " o " ATRIBUTO " específico en la carga útil, puede configurar una regla de relajación。埃尔JSON突击队relajación de inspección por inyección tiene la siguiente sintaxis。En el símbolo del sistema, escriba:

绑定appfw profile  -JSONCMDURL  -comment  -isAutoDeployed (AUTODEPLOYED | NOTAUTODEPLOYED) -state (ENABLED | DISABLED) 

比如:

绑定appfw profile p1 -sqlinjection ABC http://10.10.10.10/绑定appfw配置文件p1 -sqlinjection 'abc[0-9]+' http:// 10.10.10.10/ -isregex regEX . txt绑定appfw profile p1 -sqlinjection 'name' http://10.10.10.10/ -valueType关键字'selec[a-z]+' -isvalueRegex regEX

配置la protección basada en gramática SQL mediante la GUI

完成el程序GUI参数配置la detección de inyección HTML SQL basada en gramática。

  1. En el panel de navegación, vaya aSeguridad > Perfiles
  2. 恩拉páginaPerfiles, haga clic en需要在
  3. 恩拉páginaPerfil de Citrix Web应用防火墙, haga clic en同生共死Configuracion avanzada
  4. 恩拉sección同生共死, vaya a Configuración deinyección HTML SQL
  5. 哈加环在圣像可弹射的情况cerca de la casilla de verificación。
  6. Haga clicConfiguración de acciónPara acceder a la páginaConfiguración de inyección SQL de HMTL

    Configuración de GUI para protección basada en gramática SQL Carga útil HTML

  7. 主动拉casilla Comprobar mediante gramática SQL
  8. Haga clicAceptar

配置拉protección basada en gramática SQL para la carga útil JSON中间拉GUI

完成el procedimiento GUI para configuration la detección de inyección JSON SQL basada en gramática。

  1. En el panel de navegación, vaya aSeguridad > Perfiles
  2. 恩拉páginaPerfiles, haga clic en需要在
  3. 恩拉páginaPerfil de Citrix Web应用防火墙, haga clic en同生共死Configuracion avanzada
  4. 恩拉sección同生共死, vaya a Configuración deinyección JSON SQL
  5. 哈加环在圣像可弹射的情况cerca de la casilla de verificación。
  6. Haga clicConfiguración de acciónPara acceder a la páginaConfiguración de inyección JSON SQL
  7. 主动拉casilla Comprobar mediante gramática SQL
  8. Haga clicAceptar

    Configuración de GUI para carga útil JSON de protección basada en gramática SQL