Heim  >  Artikel  >  Datenbank  >  Was sind SQL-Injection, XSS und CSRF?

Was sind SQL-Injection, XSS und CSRF?

青灯夜游
青灯夜游nach vorne
2019-03-28 11:42:122365Durchsuche

Was sind SQL-Injection, XSS und CSRF? Dieser Artikel stellt Ihnen SQL-Injection, XSS und CSRF vor. Ich hoffe, dass er für Freunde hilfreich ist.

SQL-Injection

SQL-Injection ist ein Injektionsangriff. Diese Art von Angriff liegt daran, dass Code und Daten (z. B. sensible Benutzerdaten) beschädigt werden. Isolation, verursacht durch die fehlerhafte Ausführung der Daten als Teil des Codes beim Lesen der Daten.

Ein typisches Beispiel ist die Verkettung von Zeichenfolgen in einer SQL-Anweisung, bei der Benutzereingaben ohne Escapezeichen direkt als Variable verwendet werden. Solange Sie zu diesem Zeitpunkt Änderungen in der SQL-Anweisung vornehmen, z. B. das Hinzufügen von Schlüsselwörtern wie „Drop“ und „Delete“, sind die Folgen nach der Ausführung katastrophal.

Apropos: Wie sollen wir mit dieser Situation umgehen? Drei Aspekte:

1. Filtern Sie Sonderzeichen in Benutzereingabeparametern, um Risiken zu reduzieren.

2. Es ist verboten, SQL-Anweisungen durch Zeichenfolgen zu verbinden, und zur Übergabe von Parametern muss unbedingt die Parameterbindung verwendet werden.

3. Nutzen Sie den vom Datenbank-Framework bereitgestellten Mechanismus sinnvoll. Die von Mybatis bereitgestellte Methode zum Übergeben von Parametern ist beispielsweise #{}. Letzteres entspricht dem String-Splicing-SQL und es müssen parametrisierte Anweisungen verwendet werden.

Zusammenfassend ist es notwendig, parametrisierte Bindungs-SQL-Variablen korrekt zu verwenden.

XSS

XSS: Cross-Site Scripting, um Duplikate von Namen mit dem Front-End-CSS zu vermeiden, wird darauf verwiesen Es bezieht sich auf das Einfügen bösartiger Skripte in HTML-Seiten, die von normalen Benutzern mit technischen Mitteln angefordert werden, und deren Ausführung.

Diese Art von Angriff wird hauptsächlich zum Diebstahl und zur Zerstörung von Informationen eingesetzt. Beispielsweise nutzte der Angreifer beim Weibo-XSS-Angriff im Jahr 2011 die Tatsache aus, dass die Aktionsdaten-Schwachstelle in der Weibo-Veröffentlichungsfunktion nicht effektiv gefiltert wurde. Beim Posten von Weibo-Informationen brachte er eine URL mit dem Angriffsskript mit Benutzer haben darauf zugegriffen und schädliche Skripte geladen, wodurch eine große Anzahl von Benutzern angegriffen wurde.

Zur Verhinderung von XSS besteht die Hauptmethode darin, die vom Benutzer eingegebenen Daten zu filtern oder zu maskieren. Sie können die vom Framework bereitgestellte Toolklasse HtmlUtil verwenden. Wenn das Frontend Daten im Browser anzeigt, muss es außerdem eine sichere API verwenden, um die Daten anzuzeigen. Verwenden Sie beispielsweise innerText anstelle von innerHTML.

CSRF

Seitenübergreifende Anforderungsfälschung, ohne Wissen des Benutzers, Vorgeben, ein Benutzer zu sein und Senden einer Anfrage an den aktuell angemeldeten Benutzer Webseite Führen Sie böswillige Vorgänge auf der Website durch, z. B. böswillige Beiträge, Ändern von Passwörtern usw.

Grob gesagt überschneidet es sich mit XSS. Ersteres liegt vor, wenn Hacker die Anmeldeinformationen im Browser des Benutzers stehlen und sich als Benutzer ausgeben, um Vorgänge auszuführen. Letzteres besteht darin, schädlichen Code in den von normalen Benutzern angeforderten HTML-Code einzufügen. Das XSS-Problem liegt darin, dass die Benutzerdaten nicht maskiert und gefiltert werden. Das CSRF-Problem tritt in der HTTP-Schnittstelle auf, die nicht vertrauenswürdige Aufrufe verhindert.

Möglichkeiten zur Vermeidung von CSRF-Schwachstellen:

1. CSRF-Token-Überprüfung, wobei die gleiche Ursprungseinschränkung des Browsers verwendet wird, um das Token im Cookie zu überprüfen, bevor die HTTP-Schnittstelle ausgeführt wird , überprüfen Die Anfrage wird nur dann weiterhin ausgeführt, wenn sie erfolgreich ist.

2. Mensch-Computer-Interaktion, z. B. SMS-Bestätigungscode und Schnittstellenschieberegler.

Empfohlene verwandte Video-Tutorials: „MySQL-Tutorial

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonWas sind SQL-Injection, XSS und CSRF?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen