Wie schützen injizieren von SQL Anweisungen

April 18

Wie schützen injizieren von SQL Anweisungen

Strukturierte Abfragesprache (SQL) ist eine Methode zur Verwaltung von Daten in einer Datenbank gespeichert. SQL und verwandter Sprachen werden häufig zur Verwaltung der Webseite Abonnements und e-Commerce. Eine SQL-Injection ist eine Methode zur Verwendung einer fehlerhaften SQL-Abfrage auf einer Website die Kontrolle über die SQL-Datenbank oder Zugriff auf geschützte Informationen, wie Benutzerlisten, Passwörter und e-Mail-Adressen. Verändern Ihre Programmiertechniken kann Ihre Website vor SQL-Injection-Angriffen schützen.

Anweisungen

1 Wählen Sie eine SQL-Bibliothek oder Rahmen, die keine ungeprüfte Abfragen für SQL-Injections zulässt. Allgemeine Schwäche-Enumeration empfiehlt Persistenz Schichten, wie Hibernate und Enterprise Java Beans, die Schutz vor SQL-Injektion bei installiert und ordnungsgemäß verwendet.

2 Prozess-SQL-Abfragen mithilfe gespeicherter Prozeduren, Abfragen, die nur einen Parameter oder andere vorbereiteten Anweisungen anstelle von offenen Anfragen akzeptieren. Vermeiden Sie dynamisch erstellen von SQL-Abfrage-Strings.

3 Verhindern Sie die Ausführung von Code mit übermäßigen Privilegien. Nicht alle Code muss von einem Konto mit Root oder Administrator-Privilegien ausgeführt werden. Dies wird den Schweregrad einer kompromittierten SQL-Abfrage zu verringern.

4 Wiederholen Sie die Sicherheitsüberprüfung und Validierung der Eingabe auf der Clientseite und der Serverseite. Angreifer können Werte auf der Durchreise oder auf dem Computer des Benutzers ändern, nachdem Eingabeüberprüfung durchgeführt wurde.

5 Sonderzeichen aus SQL-Abfragen zu entkommen. Dies können Sonderzeichen wie Anführungszeichen oder Operatoren, z. B. das Gleichheitszeichen und Leerzeichen enthalten.

6 Übernehmen Sie alle Eingaben bösartige oder fehlerhaft ist. Verwenden anstelle von eine schwarzen Liste von inakzeptablen Zeichenfolgen für SQL-Abfragen, eine weiße Liste mit bekannten, gut formatierte Abfragen.

7 Grenzwert-Eingang auf eine Reihe von festen input-Werte, wie z. B. bei einer Liste von Staaten oder Länder, wenn möglich.

8 Fehlermeldungen zu nur minimale Informationen zu begrenzen. Angreifer können detaillierte Fehlermeldungen verwenden, um weitere Informationen über Ihr System zu gewinnen. Melden Sie den expliziten Fehler ein Serverprotokoll, anstatt es für den Benutzer anzuzeigen.

9 Verwenden Sie eine Firewall gegen einige SQL-Injection-Angriffe zu verteidigen. Verwenden Sie seriöse Firewalls, die Einrichtung und richtig gepflegt. Eine Firewall ist die Notwendigkeit der richtigen Programmierung nicht negieren und schützt nicht vor allen.