1. Was ist SQL-Injection? SQL-Injection ist eine Angriffsmethode, bei der dem Eingabeparameter SQL-Code hinzugefügt und zur Analyse und Ausführung an den SQL-Server übergeben wird. 2. Wie kam es dazu? Webentwickler können nicht garantieren, dass alle Eingaben bereinigt werden Der Angreifer erstellt ausführbaren SQL-Code unter Verwendung der an den SQL-Server gesendeten Eingabedaten Die Datenbank ist nicht für die Sicherheit konfiguriert 3. Wie findet man SQL-Schwachstellen? Identifizieren aller Eingabepunkte in einer Webanwendung Verstehen, welche Arten von Anfragen Ausnahmen auslösen? (Sonderzeichen " oder ') Erkennen von Anomalien in Serverantworten 4. Wie führt man einen SQL-Injection-Angriff durch? Digitale Injektion: Wählen Sie * aus Tabellennamen, wobei ID=1 oder 1=1 ist; String-Injektion: MySQLs Kommentarfunktion: Die Zeichen nach # und -- sind auskommentiert, so dass jedes eingegebene Passwort korrekt abgefragt werden kann. Klicken Sie hier, um die Bildbeschreibung einzugeben 5. Wie kann SQL-Injection verhindert werden? Überprüfen Sie das Eingabeformat genau: is_numeric (var), validieren Sie die Überprüfung mit tp5 und überprüfen Sie mit regulären Ausdrücken, ob die Zeichenfolge zwischen [A-Za-z] liegt. Escape: addslashes(str), mysqli_escape_string() Funktion zum Escapen 6.MySQLis Vorkompilierungsmechanismus Parametrisierte Bindung Die parametrisierte Bindung ist eine weitere Barriere zur Verhinderung von SQL-Injection. PHP MySQLi und PDO bieten beide eine solche Funktionalität. MySQLi kann beispielsweise wie folgt abfragen: Noch komfortabler ist PDO, zum Beispiel: Das könnte Sie auch interessieren:
|
<<: So generieren Sie ein kostenloses Zertifikat mit OpenSSL
>>: So schreiben Sie speichereffiziente Anwendungen mit Node.js
Inhaltsverzeichnis 1. Erklären Sie bitte, was die...
Git ist in vscode integriert und viele Vorgänge k...
Inhaltsverzeichnis 1. Projektbeschreibung: 2. Pro...
Wenn die Tabelle breit ist, kann es zu einem Über...
Über Semantik Die Semantik ist die Lehre von der ...
Bei täglichen Betriebs- und Wartungsarbeiten ist ...
Inhaltsverzeichnis 1. Parameter, die die Groß-/Kl...
MySQL-Transaktionsisolationsebene anzeigen mysql&...
1. Vorbereitung Beispiel: Zwei Maschinen: 192.168...
Wenn Sie ein Linux-Meister werden möchten, ist di...
Vor einigen Tagen teilte die Bibliothek mit, dass...
Tabellen spielten einst eine sehr wichtige Rolle ...
Hintergrund Suchen Sie in der Suchmaschine nach d...
Zuvor habe ich die Verwendung der charAt()-Method...
Im Allgemeinen wird das Colspan-Attribut des <...