-
-
针对 HTML 和 JSON 有效负载的基于 SQL 语法的保护
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
针对 HTML 和 JSON 有效负载的基于 SQL 语法的保护
NetScaler Web App Firewall 使用模式匹配方法来检测 HTTP
和 JSON
有效负载中的 SQL 注入攻击。该方法使用一组预先定义的关键词和(或)特殊字符来检测攻击并将其标记为违规行为。尽管这种方法是有效的,但它可能会导致许多误报,从而添加一个或多个放宽规则。特别是当 HTTP 或 JSON 请求中使用“选择”和“发件人”等常用词语时。 我们可以通过实施 SQL 语法保护检查 HTML
和 JSON
有效负载来减少误报。
在现有的模式匹配方法中,如果 HTTP 请求中存在预定义的关键字和/或特殊字符,则会识别 SQL 注入攻击。在这种情况下,语句不一定是有效的 SQL 语句。但是,在基于语法的方法中,只有在 SQL 语句中存在关键字或特殊字符或是 SQL 语句的一部分时,才会检测到 SQL 注入攻击,从而减少误报情况。
基于 SQL 语法的保护使用方案
考虑一下 HTTP 请求中出现的“选择我的门票然后让我们在工会站见面”的陈述。尽管该语句不是有效的 SQL 语句,但现有的模式匹配方法将请求检测为 SQL 注入攻击,因为该语句使用“选择”、“和”和“联合”等关键字。但是,在 SQL 语法方法的情况下,该语句不会被检测为违规攻击,因为关键字不存在于有效 SQL 语句中,或者不是有效 SQL 语句的一部分。
还可以配置基于语法的方法来检测 JSON
有效负载中的 SQL 注入攻击。要添加放宽规则,您可以重复使用现有的放宽规则。细粒度放宽规则也适用于 SQL 语法,对于带有“valueType”“关键字”的规则。在 JSON
SQL 语法中,可以重复使用现有的基于 URL 的方法。
使用 CLI 为 HTML 配置基于 SQL 语法的保护
要实现基于 SQL 语法的检测,必须在 Web App Firewall 配置文件中配置“SQLInjectionGrammar”参数。默认情况下,该参数处于禁用状态。除了学习外,所有现有的 SQL 注入操作都受支持。升级后创建的任何新配置文件都支持 SQL 注入语法,并且它仍将默认类型作为“特殊字符或关键字”,且必须明确启用。
在命令提示符下,键入:
add appfw profile <profile-name> –SQLInjectionAction <action-name> -SQLInjectionGrammar ON/OFF
<!--NeedCopy-->
示例:
add appfw profile profile1 –SQLInjectionAction Block –SQLInjectionGrammar ON
使用 CLI 为 HTML 配置 SQL 模式匹配保护和基于语法的保护
如果您同时启用了基于语法和模式匹配方法,则设备首先执行基于语法的检测,如果存在 SQL 注入检测并将操作类型设置为阻止,则会阻止请求(不使用模式匹配验证检测)。
在命令提示符下,键入:
add appfw profile <profile-name> –SQLInjectionAction <action-name> -SQLInjectionGrammar ON –SQLInjectionType <Any action other than ‘None’: SQLSplCharANDKeyword/ SQLSplCharORKeyword/ SQLSplChar/ SQLKeyword>
<!--NeedCopy-->
示例:
add appfw profile p1 –SQLInjectionAction block – SQLInjectionGrammar ON –SQLInjectionType SQLSplChar
使用 CLI 配置 SQL 注入检查,仅使用基于语法的 HTML 保护
在命令提示符下,键入:
add appfw profile <profile-name> –SQLInjectionAction <action-name> -SQLInjectionGrammar ON –SQLInjectionType None
<!--NeedCopy-->
示例:
add appfw profile p1 –SQLInjectionAction block – SQLInjectionGrammar ON –SQLInjectionType None
使用 CLI 为基于 SQL 语法的 HTML 保护绑定放松规则
如果您的应用程序要求您绕过有效负载中的特定“元素”或“属性”的 SQL
注入检查,则必须配置放宽规则。
注意:
只有在设备使用
SQL
语法进行检测时,才会评估具有 ValueType“关键字”的放宽规则。
SQL
命令注入检查放松规则具有以下语法。在命令提示符下,键入:
bind appfw profile <name> -SQLInjection <String> [isRegex(REGEX| NOTREGE)] <formActionURL> [-location <location>] [-valueType (Keywor|SpecialString|Wildchar) [<valueExpression>][-isValueRegex (REGEX | NOTREGEX) ]]
<!--NeedCopy-->
示例:
bind appfw profile p1 -sqlinjection abc http://10.10.10.10/
bind appfw profile p1 –sqlinjection 'abc[0-9]+' http://10.10.10.10/ -isregex regEX
bind appfw profile p1 –sqlinjection 'name' http://10.10.10.10/ -valueType Keyword 'selec[a-z]+' -isvalueRegex regEX
使用 GUI 为 HTML 配置基于 SQL 语法的保护
完成 GUI 过程以配置基于语法的 HTML SQL 注入检测。
- 在导航窗格上,导航到“安全”>“配置文件”。
- 在配置文件页面中,单击添加。
- 在 NetScaler Web App Firewall 配置文件页面中,单击“高级设置”下的“安全检查”。
- 在“安全检查”部分中,转到 HTML SQL 注入 设置。
- 单击复选框附近的可执行文件图标。
- 单击 操作设置 可访问 HMTL SQL 注入设置 页。
- 选中 使用 SQL 语法 检查复选框。
- 单击确定。
使用 CLI 为 JSON 负载配置基于 SQL 语法的保护
要对 JSON 有效负载实施基于 SQL 语法的检测,必须在 Web App Firewall 配置文件中配置“JSONSQLInjectionGrammar”参数。默认情况下,该参数处于禁用状态。除了学习外,所有现有的 SQL 注入操作都受支持。升级后创建的任何新配置文件都支持 SQL 注入语法,并且它仍将默认类型作为“特殊字符或关键字”,您必须明确启用它。
在命令提示符下,键入:
add appfw profile <profile-name> -type JSON –JSONSQLInjectionAction <action-name> -JSONSQLInjectionGrammar ON/OFF
<!--NeedCopy-->
示例:
add appfw profile profile1 –type JSON –JSONSQLInjectionAction Block –JSONSQLInjectionGrammar ON
使用 CLI 为 JSON 负载配置 SQL 模式匹配保护和基于语法的保护
如果您同时启用了基于语法和模式匹配检查,则设备首先执行基于语法的检测,如果存在将操作类型设置为阻止的 SQL 注入检测,则会阻止请求(不使用模式匹配验证检测)。
注意:
仅当设备使用 SQL 语法执行检测时,才会评估具有 valueType“关键字”的放宽规则。
在命令提示符下,键入:
add appfw profile <profile-name> -type JSON –JSONSQLInjectionAction <action-name> -JSONSQLInjectionGrammar ON –JSONSQLInjectionType <Any action other than ‘None’: SQLSplCharANDKeyword/ SQLSplCharORKeyword/ SQLSplChar/ SQLKeyword>
<!--NeedCopy-->
示例:
add appfw profile p1 –type JSON –JSONSQLInjectionAction block – JSONSQLInjectionGrammar ON –JSONSQLInjectionType SQLSplChar
使用 CLI 配置 SQL 注入,仅对 JSON 负载进行基于语法的检查
在命令提示符下,键入:
add appfw profile <profile-name> -type JSON –JSONSQLInjectionAction <action-name> -JSONSQLInjectionGrammar ON –JSONSQLInjectionType None`\
<!--NeedCopy-->
示例:
add appfw profile p1 –type JSON –JSONSQLInjectionAction block – JSONSQLInjectionGrammar ON –JSONSQLInjectionType None
使用 CLI 绑定基于 URL 的放松规则,为 JSON 负载提供基于语法的 JSON SQL 保护
如果您的应用程序要求您绕过有效负载中的特定“元素”或“属性”的 JSON
命令注入检查,则可以配置放宽规则。
JSON
命令注入检查放松规则具有以下语法。在命令提示符下,键入:
bind appfw profile <profile name> –JSONCMDURL <expression> -comment <string> -isAutoDeployed ( AUTODEPLOYED | NOTAUTODEPLOYED ) -state ( ENABLED | DISABLED )
<!--NeedCopy-->
示例:
bind appfw profile p1 -sqlinjection abc http://10.10.10.10/
bind appfw profile p1 –sqlinjection 'abc[0-9]+' http:// 10.10.10.10/ -isregex regEX
bind appfw profile p1 –sqlinjection 'name' http://10.10.10.10/ -valueType Keyword 'selec[a-z]+' -isvalueRegex regEX
使用 GUI 为 JSON 负载配置基于 SQL 语法的保护
完成 GUI 过程以配置基于语法的 JSON SQL 注入检测。
- 在导航窗格上,导航到“安全”>“配置文件”。
- 在配置文件页面中,单击添加。
- 在 NetScaler Web App Firewall 配置文件页面中,单击“高级设置”下的“安全检查”。
- 在“安全检查”部分中,转到 JSON SQL 注入 设置。
- 单击复选框附近的可执行文件图标。
- 单击 操作设置 以访问 JSON SQL 注入设置 页面。
- 选中 使用 SQL 语法 检查复选框。
- 单击确定。
共享
共享
在本文中
- 基于 SQL 语法的保护使用方案
- 使用 CLI 为 HTML 配置基于 SQL 语法的保护
- 使用 CLI 为 HTML 配置 SQL 模式匹配保护和基于语法的保护
- 使用 CLI 配置 SQL 注入检查,仅使用基于语法的 HTML 保护
- 使用 CLI 为基于 SQL 语法的 HTML 保护绑定放松规则
- 使用 GUI 为 HTML 配置基于 SQL 语法的保护
- 使用 CLI 为 JSON 负载配置基于 SQL 语法的保护
- 使用 CLI 为 JSON 负载配置 SQL 模式匹配保护和基于语法的保护
- 使用 CLI 配置 SQL 注入,仅对 JSON 负载进行基于语法的检查
- 使用 CLI 绑定基于 URL 的放松规则,为 JSON 负载提供基于语法的 JSON SQL 保护
- 使用 GUI 为 JSON 负载配置基于 SQL 语法的保护
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.