Prüfung auf HTML SQL-Einschleusung
Viele Webanwendungen haben Webformulare, die SQL für die Kommunikation mit relationalen Datenbankservern verwenden。Bösartiger Code oder ein Hacker können ein unsicheres Webformular verwenden, um SQL-Befehle an den Webserver zu senden。Die Web App Firewall HTML SQL-Einschleusungprüfung bietet spezielle Schutzmaßnahmen gegen das Einschleusen von nicht autorisiertem SQL-Code, der Die Sicherheit verletzen Wenn Die Web App Firewall in einer Benutzeranforderung nicht autorisierten SQL-Code erkennt, wandelt sie Die Anforderung entweder um, um den SQL-Code inaktiv zu machen, oder blockiert Die Anforderung。Die Web App Firewall untersucht Die Anforderungsnutzlast für injizierten SQL-Code an drei Orten: 1) POST-Text, 2) Header和3)Cookies。Um einen Abfrageteil in Anfragen für injizierten SQL-Code zu untersuchen, konfigurieren Sie bitte eine Einstellung des anwendungs - firewall profils " InspectQueryContentTypes " für die spezifischen Inhaltstypen。
Ein Standardsatz von Schlüsselwörtern und sonderzechen enthält bekannte Schlüsselwörter und sonderzechen, die häufig zum Starten von SQL-Angriffen verwendet werden。Sie können neue集合hinzufügen und den Standardsatz bearbeiten,嗯die SQL-Prüfung anzupassen。Die Web App Firewall bietet verschiedene Aktionsoptionen für Die Implementierung des SQL-Einschleusungsschutzes。Neben den AktionenBlockieren,Protokollieren,Statistiken和Lernenbietet das Web应用程序防火墙配置文件Möglichkeit,SQL-Sonderzeichen umzuwandeln呃einen Angriff unschädlich zu machen。
Zusätzlich zu den Aktionen gibt es mehrere Parameter, die für die SQL-Einschleusung-Verarbeitung konfiguriert werden können。Sie können nachSQL-Platzhalterzeichen苏晨。Sie können den SQL-Einschleusung-Typ ändern und eine der 4 Optionen auswählen (SqlKeyword,SqlSPLChar* *, * * SqlSPLCharandKeyword,SqlSPLCharorKeyword),嗯anzugeben, we die SQL-Schlüsselwörter und SQL-Sonderzeichen bei der Verarbeitung der Nutzlast ausgewertet werden sollen。Der参数SQL注释处理bietet Ihnen die Möglichkeit, den Typ der Kommentare anzugeben, die bei der Erkennung von SQL-Einschleusung überprüft oder ausgenome men werden müssen。
Sie können Entspannungen einsetzen, um Fehlalarme zu vermeiden。Web应用程序防火墙,它可以被简化,可以被简化。
Zum Konfigurieren eines optimierten SQL-Einschleusungsschutzes für Ihre Anwendung stehen folgende Optionen zur Verfügung:
块-Die blocktion ward nur ausgelöst, wenn die Eingabe mit der SQL-Einschleusungstypspezifikation übereinstimmt。要是那些SQLSplCharAndKeywordals SQL-Einschleusungstyp konfiguriert ist, ward eine Anforderung nicht blockiert, wenn sie keine Schlüsselwörter enthält, selbst wenn SQL-Sonderzeichen in der Eingabe erkannt werden。Eine solche Anforderung古怪的blockiert, wenn der SQL-Einschleusungstyp entweder aufSqlSPLChar奥得河SqlSPLCharorKeywordfestgelegt坚持。
日志- Wenn Sie die Protokollfunktion aktivieren, generert die SQL-Einschleusungsprüfung Protokollmeldungen, die die ausgeführten Aktionen angeben。Wenn die Blockaktion deaktiviert ist,古怪für jedes Eingabefeld,在dem der ql - verstoß festgestellt wurde, eine单独的Protokollmeldung generiert。纳赫里克特将军,温恩死安弗德隆布洛克特怪。在ähnlicher Weise wildeine Protokollnachricht pro Anforderung für den Transformationsvorgang generiert, auh wenn sql - sonderzechen In mehrere Felder umgewandelt werden。Sie können die Protokolle überwachen, um festzustellen, ob Antworten auf legitime Anfragen blockiert werden。我的名字是,我的名字是,我的名字是,我的名字是,我的名字是,我的名字是,我的名字是。
Statistiken- Wenn diese Option aktiviert ist, sammelt die统计funktion统计zu Verstößen和Protokollen。Ein unerwarteter Anstieg im Statistikzähler deutet möglicherweise darauf hin, dass Ihre Anwendung angegriffen狂野。Wenn legtime Anfragen blockiert werden, müssen Sie möglicherweise die Konfiguration erneut aufrufen, um zu sehen, ob Sie neue Entspannungsregeln konfigurieren oder die vorhandenen ändern müssen。
Lernen-我们的国家元首,我们的国家元首für我的国家元首,können我的国家元首,我的国家元首,我的国家元首。Die Web App Firewall学习引擎überwacht den Datenverkehr und gibt auf der Grundlage der beobachteten Werte Empfehlungen zum SQL-Lernen ab. Um eninen optimalen Nutzen祖祖学祖,onhne Die Leistung祖祖学祖beeinträchtigen, sollten Sie Die Lernoption möglicherweise für kurze Zeit aktivieren, Um ein repräsentatives Beispiel der Regeln祖祖学祖,und dann Die Regeln bereitstellen und das leneren deaktivieren。
SQL-Sonderzeichen transformieren- Die Web App Firewall berücksichtigt drei Zeichen, einfaches, gerades Anführungszeichen (')(\)
,反斜杠和Semikolon (;) als Sonderzeichen für die Verarbeitung der SQL-Sicherheitsprüfung。Die Funktion“SQL转换”ändert den SQL- einschleusung - code in einer HTML-Anforderung, um sicherzustellen, dass Die Anforderung unschädlich gemacht wd。Die geänderte HTML-Anforderung wild dann an den Server gesendet。访问standardmäßigen Transformationsregeln sind in der Datei /netscaler/default_custom_settings.xml angegeben. xml。
Durch die Transformationsoperation ward SQL-Code inaktiv, indem die folgenden Änderungen an der Anforderung vorgenome werden:
- Einfaches gerades Anführungszeichen (') bis zum doppelten geraden Anführungszeichen(")。
- 反斜杠
(\)
zu doppeltem反斜杠(\)
. - semkolon(;)奇葩vollständig verworfen。
Diese drei Zeichen (spezielle Zeichenfolgen) sindeenddig,嗯Befehle an einen SQL-Server auszugeben。Sofern einem SQL-Befehl keine spezielle Zeichenfolge vorangestellt奇怪,ignorieren die meisten SQL-Server diesen Befehl。Daher verhindern die Änderungen, die die Web App Firewall bei aktivierter Transformation durchführt, dass ein Angreifer Active SQL injiziert。Nachdem diese Änderungen vorgenomics wurden, kann die Anfrage sicher an Ihre geschützte网站weitergeleitet werden。Wenn Webformulare auf Ihrer geschützten网站合法程序SQL-Zeichenfolgen enthalten können, die Webformulare jedoch nicht auf die speziellen Zeichenfolgen angewiesen sind, um ordnungsgemäß zu funktionieren, können Sie die Blockierung deaktivieren和die Transformation aktivieren, um das Blockieren合法程序Webformulardaten zu verhindern, onhne den Schutz zu verringen, den Web App Firewall Ihren geschützten Website bietet。
Der Transformationsvorgang funktioniert unabhängig von Der einsteinSQL-Einschleusungstyp.Wenn die transform aktiviert ist und under SQL-Einschleusungstyp als SQL-Schlüsselwort angegeben ward, werden SQL-Sonderzeichen auh dann transformiert, Wenn die Anforderung keine Schlüsselwörter enthält。
Tipp
Normalerweise aktivieren Sie交织模转化为block kieren, aber nicht beide。封锁带来的是变革。文思是拦阻的,是改造的,是多余的。
Auf SQL-Platzhalterzeichen suchen - Wildcard-Zeichenkönnen verwendet werden, um die Auswahl einer SQL-Anweisung (SQL-SELECT) zu erweitern。Diese wildcard -操作员können mit den操作员就像和不喜欢verwendet werden,嗯einen Wert mit ähnlichen Werten zu vergleichen。死亡的原和不受限制的(_)维也纳häufig als Platzhalter verwendet。Prozentzeichen entspricht dem Sternchen-Platzhalterzeichen (*), Das mit MS-DOS verwendet怪胎,und entspricht null, einem oder mehren Zeichen在einem Feld。Der Unterstrich ähnelt dem MS-DOS-Fragezeichen (?)Platzhalterzeichen。Es stimmt mit einer einzelnen Zahl oder einem zechen在einem Ausdruck überein。
是können beispielsweise die folgende Abfrage verwenden, um eine Zeichenfolgensuche durchzuführen, um alle Kunden zu finden, deren Namen das D-Zeichen enthalten。
WÄHLEN Sie* vom Kunden WHERE-Namen wie " %D% ":
我的命运,我的命运我的命运,我的命运,我的命运,我的命运。
WÄHLEN Sie* vom Kunden WHERE Gehalt wie ' _ 00% ':
Verschiedene DBMS-Anbieter haben die platzhalterzechen um zusätzliche Operatoren erweitert。Citrix Web App Firewall kann vor Angriffen schützen, Die durch das Eingeben dieser Platzhalterzeichen gestartet werden。模具5 standardmäßigen Platzhalterzeichen sind Prozent (%), Unterstrich (_), Caret (^), öffnende Klammer ([) und schließende Klammer(])。Dieser Schutz gilt sowohl für HTML- als auch für XML-Profile。
死亡标准- platzhalterzeichen sind eine Liste von Literalen,死在*标准签名aturen angegeben sind:
< wildchar类型=“文字”> % < / wildchar >
< wildchar类型=“文字”> _ < / wildchar >
< wildchar类型=“文字”> ^ < / wildchar >
< wildchar type = "文字“> < / wildchar >
< wildchar type = "文字“> < / wildchar >
Platzhalterzeichen in einem Angriff können PCRE sein, wie [^A-F]。Die Web App Firewall unterstützt auch PCRE-Platzhalter, aber Die obigen Platzhalterzeichen reichen aus, um Die meisten Angriffe zu blockieren。
Hinweis:
Die SQL-Platzhalterzeichenprüfung unterscheidet sich von der SQL-Sonderzeichenprüfung。Diese Option必须是Vorsicht verwendet werden,嗯Fehlalarme zu vermeiden。
检查请求SQL-Einschleusungstyp- Die Web App Firewall bietet 4可选,嗯Die gewünschte Strenge für Die SQL-Einschleusungsprüfung basierend auf den个人ellen Anforderungen der Anwendung zu implementieren。我的家乡是一个充满活力的地方。Die 4 Optionen für den SQL-Einschleusungtyp sind:
- SQL-Sonderzeichen und -Schlüsselwort- Sowohl ein SQL-Schlüsselwort als auch ein SQL-Sonderzeichen müssen in der Eingabe vorhanden sein, um eine SQL-Verletzung auszulösen。我是严格的爱因斯坦,是标准的爱因斯坦。
- SQL-Sonderzeichen-Mindestens eines der Sonderzeichen muss in der Eingabe vorhanden sein, um eine SQL-Verletzung auszulösen。
- SQL-Schlusselwort- Mindestens eines der angegebenen SQL-Schlüsselwörter muss in der Eingabe vorhanden sein, um eine SQL-Verletzung auszulösen。Wählen Sie diese Option nicht onhne angemessene Berücksichtigung aus。Um Fehlalarme zu vermeiden, stellen Sie sicher, dass keines der Schlüsselwörter在den Eingaben erwartet野生。
- SQL-Sonderzeichen oder Schlüsselwort-Entweder das Schlüsselwort oder die Sonderzeichenfolge muss in der Eingabe vorhanden sein, um die Sicherheitsüberprüfungsverletzung auszulösen。
Tipp:
Wenn Sie die Web App Firewall so konfigurieren, dass Sie nach Eingaben suchen, die ein SQL-Sonderzeichen enthalten, überspringt die Web App-Firewall Webformularfelder, die keine Sonderzeichen enthalten。Da die meisten SQL-Server keine SQL-Befehle verarbeiten, denen kein Sonderzeichen vorangestellist, kann die Aktivierung dieser Option die Web App Firewall erheblich entlasten und die Verarbeitung beschleunigen, ohne dass Ihre geschützten网站gefährdet werden。
Verarbeitung von SQL-Kommentaren- Standardmäßig prüft die Web App Firewall alle SQL-Kommentare auf injizierte SQL-Befehle。Viele SQL-Server ignorieren jedoch alles in einem Kommentar, auh wenn in SQL-Sonderzeichen vorangestellt ist。Für eine schnellere Verarbeitung, wenn Ihr SQL- server Kommentare ignoriert, können Sie die Web App Firewall so konfigurieren, dass Kommentare übersprungen werden, wenn Sie Anforderungen für injiziertes SQL prüfen。Die Optionen für Die Verarbeitung von SQL-Kommentaren sind:
- ANSI-Überspringt SQL-Kommentare im ANSI-Format, die normalerweise von UNIX-basierten SQL-Datenbanken verwendet werden。Beispiel:
- (Zwei Bindestriche) - die ist ein Kommentar, der mit Bindestrichen begin und mit Zeilenende endt。
{} - Klammern (Klammern umschließen den Kommentar.)Das steht vor dem Kommentar and Das folgt ihm。Klammern können ein- oder mehrzeilige Kommentare abgrenzen, Kommentare können jedoch nicht verschachtelt werden)
/* */: C风格注释(不允许嵌套注释)。请注意/*!<以斜杠开头,后面跟着星号和感叹号的评论不是评论> */
MySQL Server unterstützt einige Varianten von Kommentaren im C-Stil。Diese ermöglichen es Ihnen, Code zu schreiben, der MySQL Erweiterungen enthält, aber immer noch portabel ist, indem Sie Kommentare der folgenden Form verwenden:
/ * !mysql特定代码*/
.# Mysql-Kommentare: Dies ist ein Kommentar, der mit dem Zeichen #开始。
- Verschachtelt- Verschachtelte SQL- kommentare überspringen, die normalerweise von Microsoft SQL Server verwendet werden。例如;- (Zwei Bindestriche) und/ * * /(Erlaubt verschachtelte Kommentare)
- ANSI / verschachtelt-Überspringen我们的国家,我们的国家,我们的国家标准。Kommentare, die nur dem ANSI-Standard order nur dem verschachtelten Standard entsprechen, werden weiterhin auf injizerte SQL überprüft。
- Alle Kommentare überprüfen- Überprüfen我们的祖国für我们的祖国SQL,我们的祖国überspringen。死就是死,标准。
Tipp
Normalerweise dürfen Sie die Option Verschachtelt oder ANSI/Verschachtelt nicht wählen, es sei denn, Ihre back - end datenbank waud auf Microsoft SQL Server ausgeführt。我的SQL server软件,我的SQL server软件。Wenn verschachtelte Kommentare in einer Anfrage erscheinen, die an einen anderen SQL-Servertyp gerichtet ist, deuten sie möglicherweise auf einen Versuch hin, die Sicherheit auf diesem Server zu verletzen。
请求头prufen- Aktivieren Sie diese Option, wenn Sie nicht nur die Eingabe in den Formularfeldern untersuchen, sondern auch die Anforderungsheader auf HTML-SQL-Einschleusung-Angriffe untersuchen möchtenWenn Sie die GUI verwenden, können Sie diesen Parameter im BereichErweiterte设置->Profileinstellungenaktivieren. des Web应用程序防火墙配置文件。
Hinweis:
“Anforderung prüfen”aktivieren, müssen Sie möglicherweise eine Entspannungsregel für den用户代理头konfigurieren。Das Vorhandensein des SQL-Schlüsselworts就像und des SQL-Sonderzeichens semkolon (;) kann falsch positive und Blockanforderungen auslösen, die diesen Header enthten。Warnung
Wenn Sie sowohl die Überprüfung des Anforderungsheaders auh die transform aktivieren, werden alle SQL-Sonderzeichen in den Kopfzeilen ebenfalls transformiert。Die Header Accept, Accept- charset, Accept- encoding, Accept- language, Expect und User-Agent enthalten normalerweise semkolons(;)。Die gleichzeeitige Aktivierung von Request-Header-Überprüfung und transform kann zu Fehlern führen
inspectQueryContentTypes-我们的选择,我们的选择,我们的选择,我们的选择,我们的选择,我们的选择,möchten。Wenn Sie die GUI verwenden, können Sie diesen Parameter im BereichErweiterte设置->Profileinstellungen应用程序防火墙配置文件konfigurieren. des
SQL Feinkörnige Entspannungen
Die Web App Firewall bietet Ihnen Die Möglichkeit, ein bestimmtes Formularfeld, einen Header oder ein Cookie von der SQL-Einschleusungsprüfung auszunehmen。Sie können die Prüfung für eines oder mehrere dieser Felder vollständig旁路,indem Sie die Entspannungsregeln für die SQL-Einschleusungsprüfung konfigurieren。
Mit der Web App Firewall können Sie durch feinabtimmmung der entspannungsregelen strong Sicherheit implementieren。Eine Anwendung erfordert möglicherweise die Flexibilität, um bestimmte Muster zuzulassen, aber die Konfiguration einer Relaxationsregel zum Umgehen der Sicherheitsprüfung kann die Anwendung anfällig für Angriffe machen, da das Zielfeld von der Prüfung auf SQL-Angriffsmuster ausgenomics ist。Die feinkörnige SQL-Entspannung bietet Die Möglichkeit, bestimmte gather zuzulassen und den Rest zu blockieren。Beispielsweise verfügt die Web App Firewall derzeit über einen Standardsatz von mehr als 100 SQL-Schlüsselwörtern。Da Hacker diese Schlüsselwörter in SQL-Einschleusungsangriffen verwenden können, kennzeichnet die Web App Firewall sie als potenzielle Bedrohungen。Sie können在一定的范围内关键字,模具für den bestimmten标准sicher gelten。波坦齐埃尔死gefährlichen SQL-Schlüsselwörter维尔登韦特辛auf den泽尔斯佩切尔特überprüft und lösen韦特辛死Sicherheitsüberprüfungsverstöße奥斯。你已经离开了。
Die in Relaxationen verwendeten Befehle haben optional参数für值类型和值表达式.Sie können angeben, ob der Wertausdruck ein regulärer Ausdruck oder eine literale Zeichenfolge ist。Der Werttyp kann leer gelassen werden oder Sie haben die Möglichkeit,关键字奥得河SpecialString奥得河WildCharauszuwahlen。
Warnung:
Reguläre Ausdrücke sind leistungsstark。Vor allem, wenn Sie mit regulären Ausdrücken im PCRE-Format nicht genau vertraut sind, überprüfen Sie alle regulären Ausdrücke, die Sie schreiben。Stellen Sie sicher, dass Sie genau die URL definieren, die Sie als Ausnahme hinzufügen möchten, und nichts anderes。Die unvorsichtige Verwendung von Platzhaltern和insbesonere der Punkt-Sternchen (.*) - metazeichen - oder Platzhalterkombination kann zu Ergebnissen führen, Die Sie nicht möchten, z. B. das Blockieren des Zugriffs auf webinste, Die Sie nicht Blockieren wollten, oder einen Angriff zulassen, den Die HTML SQL-Einschleusungsprüfung sonst blockiert hätte。
祖berücksichtigende庞克特:
- Wertausdruck的可选论证。Ein Feldname hat möglicherweise keinen Wertausdruck。
- Ein Feldname kann an Ausdrücke mit mehrenen Werten gebunden werden。
- Wertausdrücken muss ein Werttyp zugewiesen werden。Der SQL-Werttyp kann sein: 1) Schlüsselwort, 2) SpecialString oder 3) WildChar。
- Sie können mehrere Entspannungsregeln pro Feldname/URL-Kombination festlegen。
Verwenden der befehlszele zum Konfigurieren der SQL-Einschleusungsprüfung
因此,konfigurieren Sie SQL-Einschleusungsaktionen und andere参数mithilfe der Befehlszeile:
在der Befehlszeilenschnittstelle können Sie entweder den Befehl设置appfw profileoder den Befehl添加appfw profileverwenden, um den SQL-Einschleusungsschutz zu konfigurieren。在SQL-Einschleusungsangriffszeichenfolgen verwendeten Sonderzeichen transformieren möchten, um den Angriff zu deaktivieren。Wählen Sie den Typ des SQL-Angriffsmusters (Schlüsselwörter, Platzhalterzeichen, spezielle Zeichenfolgen) aus, den Sie in den有效负载erkennen möchten, und geben Sie an, ob die Web应用程序防火墙auch die Anforderungskopfzeilen auf Verletzungen von SQL-Einschleusung überprüfen soll。Verwenden Sie den Befehl取消设置appfw profile嗯die konfigurierten Einstellungen auf ihre standdeinstellungen zurückzusetzen。Jeder der folgenden Befehle legt nur einen Parameter fest, aber Sie können mehere Parameter in einen einzelnen Befehl aufnehmen:
- legen Sie das anwendongs - firewall profileParameterbeschreibungen unten auf der Seite。”
-SQLInjectionAction (([block] [learn] [log] [stats]) | [none]) - legen Sie das anwendongs - firewall profileParameterbeschreibungen unten auf der Seite。”
-SQLInjectionTransformSpecialChars (**ON** | OFF) - legen Sie das anwendongs - firewall profileParameterbeschreibungen unten auf der Seite。”
<名称> - * * SQLInjectionCheckSQLWildChars * * (* * * * | * * * *)
- legen Sie das anwendongs - firewall profileParameterbeschreibungen unten auf der Seite。”
* * <名称> - * * SQLInjectionType * * ((* * SQLKeyword * *) |【* * SQLSplChar * *】|【* * SQLSplCharANDKeyword * *】|【* * SQLSplCharORKeyword * *))
- legen Sie das anwendongs - firewall profileParameterbeschreibungen unten auf der Seite。”
<名称> - * * SQLInjectionParseComments * * ((* * checkall * *) | (* * ansi |嵌套* *)| (* * ansinested * *))
- **legen Sie das anwendongs - firewall profileParameterbeschreibungen unten auf der Seite。”
Parameterbeschreibungen unten auf der Seite。-CheckRequestHeaders (ON | OFF)
Parameterbeschreibungen unten auf der Seite。- CheckRequestQueryNonHtml (ON | OFF)
所以,konfigurieren Sie eine sql - einschleusunsentspannungsregel mit der Befehlszeilenschnittstelle
Verwenden Sie den Befehl bind oder unbind, um die Bindung wie folgt hinzuzufügen oder zu löschen:
bind appfw profile
-SQLInjection [isRegex(REGEX| NOTREGE)] [-location ] [-valueType (keyword| SpecialString|Wildchar) [ ][-isValueRegex (REGEX| NOTREGEX)]] unbind appfw profile
-SQLInjection [-location ] [-valueTyp (Keyword|SpecialString|Wildchar) [ ]]
Hinweis:
网址können die Liste der SQL-Schlüsselwörter aum de Standardsignaturdatei finden, indem Sie de View-Signaturobjekt anzeigen, das eine list von SQL-Schlüsselwörtern和SQL-Sonderzeichen enthält。
Verwenden der GUI zum Konfigurieren der SQL-Einschleusungssicherheitsprüfung
在der GUI können Sie die Sicherheitsüberprüfung von SQL-Einschleusung im Bereich für das mit Ihrer Anwendung verknüpfte Profil konfigurieren。
所以konfigurieren oder ändern Sie die SQL-Einschleusungsprüfung mit der GUI
- 航海家司祖应用程序防火墙>配置文件, markieren Sie das zielproffil and klicken Sie aufBearbeiten.
- Klicken Sie im BereichErweiterte设置汪汪汪Sicherheitsprufungen.
在der Tabelle zur Sicherheitsüberprüfung werden die aktuell konfigurierten Aktionseinstellungen für alle Sicherheitsüberprüfungen angezeigt。Sie haben 2 Möglichkeiten für die配置:
a. Wenn Sie Block-, Log-, statistics ken- und lererakakaktionen für HTML SQL-Einschleusung aktivieren oder deaktivieren möchten, können Sie die Kontrollkästchen in der Tabelle aktivieren oder deaktivieren, auf好吧Klicken和dann aufSpeichern和Schließenklicken, um den BereichSicherheitsprufung祖茂堂schließen。
b. Wenn Sie weitere Optionen für diese Sicherheitsprüfung konfigurieren möchten, doppelklicken Sie auf HTML SQL-Einschleusung oder wählen Sie die Zeile aus und klicken Sie aufAktionseinstellungen嗯die folgenden选项anzuzeigen:
SQL-Sonderzeichentransformieren -Transformieren Sie alle SQL-Sonderzeichen in der Anforderung。
汪汪汪SQL-Platzhalterzeichen prufen-背叛你的sql - platzhalterzechen in under Nutzlast als Angriffsmuster。
Überprüfen Sie die Anforderung mit-Type der SQL-Einschleusung (SqlKeyword, SqlSplChar, SqlSplcharandKeyword oder SqlSplcharorKeyword), die überprüft werden soll。
SQL注释处理- Art der zu prüfenden Kommentare (Alle Kommentare prüfen, ANSI, Verschachtelt oder ANSI/ Verschachtelt)。
那是我的祖国,我的祖国,我的祖国geändert哈本,我的祖国好吧嗯die Änderungen zu speichern und zur Tabelle Sicherheitsüberprüfungen zurückzukehren。Sie können bei Bedarf weitere Sicherheitsprüfungen konfigurieren。Klicken Sie auf好吧嗯allle Änderungen zu speichern, die Sie im Abschnitt Sicherheitsprüfungen vor基因组haben, und klicken Sie dann aufSpeichern und schließen, um den Bereich Sicherheitsüberprüfung zu schließen。
所以konfigurieren Sie eine Regel zur Entspannung von SQL-Einschleusungprüfung über die GUI
- 航海家司祖应用防火墙>配置文件, markieren Sie das zielproffil and klicken Sie aufBearbeiten.
- Klicken Sie im BereichErweiterte设置汪汪汪Relaxationsregeln.
- “分身”“你的桌子”“你的桌子”“你的桌子HTML SQL-Einschleusung订购wählen您的奥地利和klicken您的Bearbeiten.
- Fuhren“Entspannungsregeln für HTML SQL-Einschleusung。Vorgänge zumHinzufugen,Bearbeiten,Loschen,Aktivieren奥得河Deaktivierenfür Entspannungsregeln aus。
Hinweis
Wenn Sie eine neue Regel hinzufügen,狂野的田野Wertausdrucknur angezeigt, wenn Sie im FeldWerttyp死亡的选择Schlusselwort奥得河SpecialString奥得河WildCharauswahlen。
所以verwalten Sie Regeln zur Entspannung von SQL-Einschleusung mit dem Visualizer
我爱你,我爱你,我爱你,我爱你HTML SQL-EinschleusungMarkieren und auf视觉型的人klicken。Der Visualizer für bereitgestellte Relaxationen bietet Ihnen die Möglichkeit, eine neue RegelhinzuzufugenOder eine vorhandene zubearbeiten.您können auh eine Gruppe von Regelnaktivieren奥得河deaktivieren, indem Sie einen Knoten auswählen und auf die entsprechenden Schaltflächen im Relaxationsvisualizer klicken。
Anzeigen oder Anpassen von Einschleusungsmustern über die grafische Benutzeroberfläche
Sie können die GUI verwenden,嗯die Einschleusungsmuster anzuzeigen oder anzupassen。
模具标准- sql -集合标准签名datatei angegebenWenn Sie kein Signaturobjekt an Ihr proffil binden, werden die im Standardsignaturobjekt angegebenen standard -注塑模式vom proffil für die Verarbeitung der Sicherheitsprüfung des Befehls verwendet。Die im standard signardaturobjekt angegebenen Regeln and gather sind schreibgeschützt。Sie können Sie nicht bearbeiten oder ändern。Wenn Sie diese Muster ändern oder ändern möchten, erstellen Sie eine Kopie des standdobjekts sSignatures, um ein benutzerdefiniertes Signaturobjekt zu erstellen。Nehmen Sie Änderungen an den Befehlseinschleusungsmustern im neuen benutzerdefinierten Signaturobjekt in Ihrem Profil, das den Datenverkehr verarbeet, für den Sie diese benutzerdefinierten Muster verwenden möchten。
Weitere Informationen finden Sie underSignaturen
所以zeigen Sie die Standard-Einschleusungsmuster mit der GUI an:
- 航海家司祖应用程序防火墙>签名人, wählen谢谢* Standardsignaturenaus und klicken Sie aufBearbeiten.
- Klicken Sie aufCMD / SQL / XSS-Muster verwalten.死TabelleSQL / Cross-Site-Skriptpfade verwaltenzeigt gather in Bezug auf CMD/SQL/XS-Einschleusung:
- Wählen你是我的朋友,你是我的朋友Elemente verwalten(Schlüsselwörter, spezielle Zeichenfolgen, Transformationsregeln oder die Platzhalterzeichen) anzuzeigen, die von der Injection-Prüfung des Befehls Web App Firewall verwendet werden。
Verwenden der Lernfunktion mit der SQL-Einschleusungsprüfung
Wenn die Lernaktion aktiviert ist, überwacht die Web应用程序防火墙学习引擎den Datenverkehr und lernt die ausgelösten Verstöße。Sie können diese gelernten Regeln regelmäßig überprüfen。我的祖国Prüfung können我们的祖国Prüfung können我们的祖国für SQL-Einschleusung bereitstellen。
SQL注入学习增强- Eine Lernerweiterung für die Web App Firewall wurde in Version 11.0 der Citrix ADC Software eingeführt。Um eine feinkörnige sql - einschleusungspannung bereitzustellen, bietet die Web App Firewall feinkörniges SQL-Einschleusungslernen。Die Lern-Engine gibt Empfehlungen bezüglich des beobachteten Werttyps (Schlüsselwort, SpecialString, Wildchar) und des entsprechenden Value-Ausdrucks, der in den Eingabefeldern beobachtet野生。Zusätzlich zur Überprüfung der blockierten andforderungen, um festzustellen, ob die aktuelle Regel zu重制式和gelockert werden muss, können Sie die von der Lern-Engine generierten regen überprüfen, um festzustellen, welcher Werttyp和welcher werteaudruck Verstöße auslösen und in den relaxationsregen behandelt werden müssen。
Wichtig
Die Lern-Engine der Web App Firewall kann nur ersten 128字节des Namens unterscheiden。Wenn ein formula mehrere Felder mit Namen enthält, die für die ersten 128 Bytes übereinstimmen, kann die Lern-Engine möglicherweise nicht zwischen ihnen unterscheiden。在ähnlicher Weise kann die beritgestellte Relaxationsregel versehenlich allle Felder von der SQL-Einschleusungsinspektion entspannen。
HinweisUm das SQL zu Bypass, indem Sie den User-Agent-Header einchecken, verwenden Sie die folgende Entspannungsregel:
绑定appfw profile your_profile_name -SQLInjection User-Agent“.*”-location HEADER
所以是zeigen Sie gelernte Daten mit der Befehlszeilenschnittstelle一个oder verwenden
Geben Sie an der Eingabeaufforderung einen der folgenden Befehle in:
show appfw learningdata
SQLInjection .使用实例 rm appfw learningdata
-SQLInjection [ ] [ ] export appfw learningdata
SQLInjection .使用实例
所以zeigen Sie erlernte Daten mit der GUI and oder verwenden Sie
航海家司祖应用程序防火墙>配置文件, markieren Sie das zielproffil and klicken Sie aufBearbeiten.
Klicken Sie im Bereich“Erweiterte设置“汪汪汪Gelernte Regeln.Sie können den EintragHTML SQL-Einschleusung在der Tabelle Gelernte Regeln auswählen und darauf doppelklicken,嗯auf die erlernten Regeln zuzugreifen。Sie können die erlernten Regeln beritstellen oder eine Regel bearbeiten, bevor Sie Sie als Entspannungsregel beritstellen。嗯eine Regel zu verwerfen, können Sie Sie auswählen und auf die SchaltflächeUberspringenklicken。您können珠宝nur eine Regel bearbeiten, aber Sie können mehrere Regeln zum Bereitstellen oder Überspringen auswählen。
我的祖国Möglichkeit,我的祖国,我的祖国,我的祖国HTML SQL-Einschleusung在der Tabelle Learned Rules auswählen und auf视觉型的人克利肯,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩,恩恩。视觉工具的力量,它的力量,它的力量,它的力量。是我的爱,我的爱,我的爱,我的爱,我的爱。Der größte Vorteil des Visualizers besteht darin, dass reguläre Ausdrücke empfohlen werden, um mehrere Regeln zu kon凝固eren。网址können eine Teilmenge dieser Regeln basierend auf dem Trennzeichen und der akions - url auswählen。Sie können 25,50 oder 75 Regeln im Visualizer anzeigen, indem Sie die Zahl aus einer下拉列表auswählen。Der Visualizer für erlernte Regeln bietet die Möglichkeit, die Regeln zu bearbeiten und als Entspannungen einzusetzen。Oder Sie können die Regeln überspringen,嗯Sie zu ignorieren。
Verwenden der Protokollfunktion mit der SQL-Einschleusungsprüfung
Wenn die Protokollaktion aktiviert ist, werden die Verletzungen der Sicherheitsüberprüfung von HTML SQL-Einschleusung alsAPPFW_SQL-Verletzungen我Überwachungsprotokoll protokolliert。Die Web App Firewall unterstützt sowohl native als auch CEF-Protokollformate。Sie können die protocol auh an einen Remote-Syslog-Server senden。
所以greifen Sie mit der Befehlszeile auf die Protokollmeldungen zu
Wechseln Sie zur Shell和schlieen Sie die ns。logs im orderner/var/log/嗯auf die Protokollmeldungen zuzugreifen, die sich auf die SQL-Einschleusungsverstöße beziehen:
>壳
# tail -f /var/log/ns.log | grep APPFW_SQL .log
Beispiel für eine HTML SQL-Einschleusungsprotokollmeldung, wenn die Anforderung transformiert狂野
Jun 26 21:08:41 10.217.31.98 CEF:0|Citrix|Citrix ADC|NS11.0|APPFW|APPFW_SQL|6|src=10.217.253.62 geolocation=Unknown spt=54001 method=GET request=http://aaron.stratum8.net/FFC/login.php?login_name=%27+or&passwd=and+%3B&drinking_pref=on&text_area=select+*+from+%5C+%3B&loginButton=ClickToLogin&as_sfid=AAAAAAXjnGN5gLH-hvhTOpIySEIqES7BjFRs5Mq0fwPp-3ZHDi5yWlRWByj0cVbMyy-Ens2vaaiULKOcUri4OD4kbXWwSY5s7I3QkDsrvIgCYMC9BMvBwY2wbNcSqCwk52lfE0k%3D&as_fid=feeec8758b41740eedeeb6b35b85dfd3d5def30cmsg= Special characters seen in fields cn1=74 cn2=762 cs1=pr_ffc cs2=PPE1 cs3=9ztIlf9p1H7p6Xtzn6NMygTv/QM0002 cs4=ALERT cs5=2015 act=transformed
Beispiel für eine HTML SQL-Einschleusungsprotokollmeldung, wenn die Post-Anforderung blockiert ist
Jun 26 21:30:34 10.217.31.98 CEF:0|Citrix|Citrix ADC|NS11.0|APPFW|APPFW |APPFW| 6|src=10.217.253.62 geolocation=Unknown spt=9459 method=POST request=http://aaron.stratum8.net/FFC/login_post.php msg=SQL Keyword check failed for field text_area="(')" cn1=78 cn2=834 cs1=pr_ffc cs2=PPE1 cs3=eVJMMPtZ2XgylGrHjkx3rZLfBCI0002 cs4=ALERT cs5=2015 act=blocked
Hinweis
Im Rahmen der Streaming-Änderungen在10.5。e构建(增强构建)和11.0构建在verarbeiten wir die Eingabedaten jetzt在Blöcken。RegEx模式匹配ist jetzt für zusammenhängende Zeichenfolgen auf 4K beschränkt。Mit dieser Änderung können die SQL-Verstoßprotokollmeldungen andere Informationen im Vergleich zu früheren build enthten。Das Schlüsselwort und Das Sonderzeichen in der Eingabe können durch viele Bytes getrennt werden。我们是修女的坟墓Überblick über死SQL-Schlüsselwörter然后是我的儿子,我的孩子,我的孩子,我的孩子,我的孩子。Zusätzlich zum Feldnamen enthält die prokolnachricht jetzt das SQL-Schlüsselwort oder das sql - sonderzechen oder sowohl das SQL-Schlüsselwort als auh das sql - sonderzechen, wie in der konfigurierten Einstellung festgelegt。Der Rest Der Eingabe ist nicht mehr in Der Protokollnachricht enthalten, wie im folgenden Beispiel gezeigt:
Beispiel:
Wenn die Web App Firewall die SQL-Verletzung erkennt, ward in 10.5 möglicherweise die gesamte Eingabezeichenfolge in die Protokollmeldung aufgenome, wie unten dargestellt:
SQL关键字检查失败的字段文本=\"select a name from testbed1;(;)\".*<阻塞> . txt
In den Erweiterungs-Builds von 10.5。e, die anforderungssetiges Streaming und ab Build 11.0, protokollieren wir nur den Feldnamen, das Schlüsselwort und das Sonderzeichen (falls zutreffend) in der Protokollnachricht, wie unten gezeigt:
SQL关键字字段检查失败**text="select(;)"< >阻塞
Diese Änderung gilt für Anforderungen, die Anwendung/x-www-form-urlencodedoder Multipart/Form-Daten oder Text-/x-gwt-rpc吸入stypen enthalten。原kollmeldungen, die während der Verarbeitung vonJSON——奥得河XML-Nutzdatenwerden将军,sind von dieser Änderung nicht betroffen。
所以greifen Sie mit der GUI auf die Protokollmeldungen zu
模具Citrix GUI enthält ein nützliches工具(Syslog查看器zum Analysieren der protokolmeldungen。Sie haben mehrere选项für den Zugriff auf den Syslog查看器:
- 航海家司祖应用防火墙>配置文件, wählen您的Zielprofil aus und klicken您的Sicherheitsuberprufungen.Markieren Sie die ZeileHTML SQL-Einschleusung, und klicken Sie aufProtokolleWenn Sie direkt von der HTML-SQL-Einschleusung-Prüfung des profile auf die Protokolle zugreifen, filter die GUI die protokolmeldungen heraus und zeigt nur die Protokolle an, die zugreifen Verstößen gegen die Sicherheitsüberprüfung gehören。
- können auh auf den Syslog日志查看器zgreifen, indem Sie zuCitrix ADC>系统>审计navigieren。Klicken Sie im Abschnitt Überwachungsmeldungen链接Syslog-Meldungen, um den Syslog-Viewer anzuzeigen, in dem alle Protokollmeldungen einschließlich anderer Protokolle über Sicherheitsüberprüfungen angezeigt werden。die ist nützlich für das Debuggen, wenn während der Anforderungsverarbeitung mehrere Sicherheitsüberprüfungen ausgelöst werden können。
- 航海家司祖应用防火墙>Richtlinien>Uberwachung.Klicken Sie im Abschnitt Überwachungsmeldungen链接Syslog-Meldungen, um den Syslog-Viewer anzuzeigen, in dem alle Protokollmeldungen einschließlich anderer Protokolle über Sicherheitsüberprüfungen angezeigt werden。
Der HTML-basierte Syslog Viewer bietet verschiedene Filteroptionen, um nur die Protokollmeldungen auszuwählen, die für Sie von Interesse sind。嗯Protokollmeldungen für dieHTML-SQL-Einschleusung-Prufungauszuwählen,过滤的,indem的APPFW在der下拉列表auswählen选项für模块.死ListeEreignistypbietet eine Reihe von Optionen,呃Ihre Auswahl weiter zu verfeinern。Wenn Sie beispielsweise das KontrollkästchenAPPFW_SQLaktivieren und auf die SchaltflächeUbernehmenklicken, werden im Syslog-Viewer nur Protokollmeldungen angezeigt, die zu den Verletzungen derSQL-Einschleusungssicherheitsuberprufunggehoren。
Wenn Sie den光标在die Zeile für eine bestimmte Protokollnachricht setzen, werden mehrere Optionen wie模件,Ereignistyp,Ereignis-ID,客户端ip等。原冰壶。Sie können eine dieser Optionen auswählen, um die entsprechenden Informationen in der Protokollmeldung hervorzuheben。
死Funktion" Zum Bereitstellen klicken "ist nur in der GUI verfügbar。Sie können den Syslog-Viewer nicht nur zum Anzeigen der Protokolle verwenden, sondern auch zum Bereitstellen von Entspannungsregeln für HTML SQL-Einschleusung basierend auf den Protokollmeldungen für Verstöße gegen die Sicherheitsüberprüfung der Web应用程序防火墙。Die Protokollmeldungen müssen für diesen Vorgang im CEF-Protokollformat vorliegen。Die Funktion zum Bereitstellen klicken ist nur für Protokollmeldungen verfügbar, Die durch Die Blockierung (oder nicht Blockierung) generiert wurden。Sie können keine Entspannungsregel für eine Protokollmeldung über den Transformationsvorgang bereitstellen。
Um eine Entspannungsregel aus dem Syslog Viewer bereitzustellen, wählen Sie die Protokollmeldung aus。在der oberen rechten Ecke des KästchensSyslog查看器der ausgewählten Zeile wild ein Kontrollkästchen angezeigt。Aktivieren Sie das Kontrollkästchen,和wählen Sie dann eine Option aus der Liste Aktion aus, um die Entspannungsregel bereitzustellen。“Bearbeiten und Bereitstellen”、“Bereitstellen“und”阿莱bereitstellen信儿Aktionsoptionenverfugbar。
死于SQL-Einschleusung-Regeln,死于mithilfe der选项“Zum Bereitstellen klicken”,死于emfehlungen zur Feinkornentspannung niht enthalten。
所以verwenden Sie die点击部署funktion在GUI:
- Wählen Sie im Syslog Viewer在书房Moduloptionen死亡的选择应用防火墙来自。
- 民意调查您APP_SQL肌萎缩性侧索硬化症Ereignistypaus,嗯die entsprechenden Protokollmeldungen zu filtern。
- Markieren Sie das Kontrollkästchen,嗯die auszubringende Regel zu identifizieren。
- Verwenden Sie die下拉列表Aktionmit Optionen,嗯die Entspannungsregel bereitzustellen。
- Stellen Sie sicher, dass die Regel im entsprechenden Abschnitt zur Entspannungsregel angezeigt狂野。
统计für die SQL-Einschleusungsverstöße
Wenn die统计aktiviert ist, wd der Zähler für die SQL-EinschleusungspPrüfung inkrementiert, Wenn die Web App Firewall Maßnahmen für diese Sicherheitsüberprüfung ergreift。统计数据für速率和标准für交通,标准和标准。Die Größe eines inkments des Protokollzählers kann abhängig von den konfigurierten Einstellungen variieren。Wenn beispielsweise die Blockaktion aktiviert ist, erhöht die Anforderung für eine Seite, die 3 SQL-Einschleusung-Verletzungen enthält, den Statistikzähler um eins, da die Seite blockiert怪,sobald die erste Verletzung erkannt怪。我们的街区,erhöht我的家乡,我的家乡Statistikzähler für Verstöße我的家乡,我的家乡,我的家乡。
所以zeigen Sie SQL-Einschleusungsprüfstatistiken mit der Befehlszeile an:
Geben Sie an der Eingabeaufforderung Folgendes ein:
sh appfw statistics . sh appfw statistics . sh
Verwenden Sie den folgenden Befehl, um statisticen für ein bestimmtes proffil anzuzeigen:
> stat appfw配置文件<配置文件名称>
所以zeigen Sie HTML SQL-Einschleusungsdtatistiken mit der GUI an
- 航海家司祖系统>Sicherheit>Anwendungsfirewall.
- Greifen Sie im rechten Bereich auf denStatistik-Link祖茂堂。
- Verwenden Sie die Bildlaufleiste,嗯die statisken über Verstöße und Protokolle von HTML SQL-Einschleusung anzuzeigen。Die统计表enthält Echtzeitdaten和野生allle 7 Sekunden aktualisiert。
突出了
Prüfung von SQL-Einschleusung:
- integrerte Unterstützung für den Schutz vot SQL-Einschleusung- Die Citrix Web App Firewall schützt vor SQL-Einschleusung, indem sie eine Kombination aus SQL-Schlüsselwörtern und Sonderzeichen in den Formularparametern überwacht Alle SQL-Schlüsselwörter, Sonderzeichen, Platzhalterzeichen und Standardtransformationsregeln werden in der Datei /netscaler/default_custom_settings.xml angegeben. xml
- Anpassung: Sie können die Standardschlüsselwörter, sonderzechen, platzhalterzechen和transformationsregen ändern, um die Überprüfung der SQL-Sicherheitsprüfung an die spezifischen Anforderungen Ihrer Anwendung anzupassen。Erstellen Sie eine Kopie des Standardsignaturobjekts, ändern Sie vorhandene Einträge oder fügen Sie neue hinzu。这是我的名片,我的名片,我的名片。
- 混合Sicherheitsmodell- Sowohl Signaturen als auh umfassender Sicherheitsschutz verwenden die SQL/跨站点脚本集合,die in dem Signaturobjekt angegeben sind, das an das Profil gebunden ist。Wenn kein Signaturobjekt an das proffil gebunden ist, werden die im Standardsignaturobjekt vorhandenen SQL/跨站点脚本集合。
- 变换-Beachten Sie Folgendes über den Transformationsvorgang:
- Der Transformationsvorgang funktioniert unabhängig von den anderen SQL-Einschleusungsaktionseinstellungen。Wenn模变换与块,对数,统计和Lernen allle deaktiviert sind, werden SQL-Sonderzeichen变换。
- Wenn SQL转换工具,werden Benutzeranfragen an die后端服务器工具,nachdem die SQL- sonderzeichen im nict - blockmodus transformiert wurden。封锁带来的是变革。eninschleusstyp als sql - sonderzechen angegebenist und under Block aktiviert ist, wdie Anforderung trotz der Transformationsaktion Block ert。
- 细粒度放松和学习-我们是如何解决问题的,我们是如何解决问题的,我们是如何解决问题的。Die lern engine empfiehlt einen bestimmten Werttyp und Wertausdrücke basierend auf den beobachteten Daten。
- Zum Bereitstellen klicken- Wählen SQL-Verletzungsprotokollmeldungen im Syslog-Viewer系统信息系统信息。
在diesem Artikel
- SQL Feinkörnige Entspannungen
- Verwenden der befehlszele zum Konfigurieren der SQL-Einschleusungsprüfung
- Verwenden der GUI zum Konfigurieren der SQL-Einschleusungssicherheitsprüfung
- Anzeigen oder Anpassen von Einschleusungsmustern über die grafische Benutzeroberfläche
- Verwenden der Lernfunktion mit der SQL-Einschleusungsprüfung
- Verwenden der Protokollfunktion mit der SQL-Einschleusungsprüfung
- 统计für die SQL-Einschleusungsverstöße
- 突出了