Fangen SQL-Injection und anderen Malicious Webanfragen

stimmen
17

Ich bin auf der Suche nach einem Werkzeug, die böswilligen Anforderungen (wie offensichtlich SQL-Injection bekommt oder Pfosten) und wird sofort verbieten die IP-Adresse des Antragstellers / hinzufügen auf eine schwarze Liste erkennen kann. Ich bin mir bewusst, dass in einer idealen Welt sollte unser Code in der Lage sein, solche Anfragen zu bearbeiten und sie entsprechend zu behandeln, aber es gibt eine Menge Wert in einem solchen Werkzeug, auch wenn die Website von diesen Arten von Angriffen sicher ist, wie es führen Spar Bandbreite, aufblasen der Analytik zu verhindern, usw.

Im Idealfall, ich suche für eine Cross-Plattform ( LAMP/.NET) Lösung , die als die Technologie - Stack auf einem höheren Niveau liegt; vielleicht unter dem Web-Server oder Hardware - Ebene. Ich bin mir nicht sicher , ob dies existiert, though.

So oder so, würde Ich mag die Feedback-Community hören, damit ich sehen kann, was meine Optionen im Hinblick auf die Umsetzung und Ansatz sein könnte.

Veröffentlicht am 04/08/2008 um 15:40
quelle vom benutzer
In anderen Sprachen...                            


8 antworten

stimmen
10

Ihre Suche fast es der falsche Weg, kein 3party Werkzeug, das nicht bewusst Ihre Anwendungsmethoden / Benennung / data / Domain wird in der Lage sein zu gehen perfekt um Sie zu schützen.

So etwas wie SQL-Injection-Prävention ist etwas, das im Code sein muss, und am besten von den Leuten geschrieben, die die SQL geschrieben, weil sie diejenigen sind, die wissen, was soll / sollte nicht in diesen Bereichen sein (es sei denn, Ihr Projekt sehr gute docs hat )

Ihr Recht, das alles wurde zuvor getan. Sie müssen nicht ganz das Rad neu erfinden, aber Sie haben einen neuen zu schnitzen wegen eines Unterschiedes in jedem Achsdurchmesser.

Dies ist nicht ein Drop-in und lief Problem, was Sie wirklich tun müssen vertraut sein mit dem, was genau SQL-Injection ist, bevor Sie es verhindern können. Es ist ein hinterhältiges Problem, so dauert es ebenso hinterhältig Schutz.

Diese 2-Links hat mich gelehrt, weit mehr als die Grundlagen zum Thema zu beginnen, und hat mir geholfen, besser Ausdruck meine Zukunft Lookups auf spezifische Fragen, die nicht beantwortet wurden.

Und während dieses isnt ganz 100% Sucher, es wird „zeigt Ihnen das Licht“ auf bestehendes Problem in Ihrem vorhandenen Code, aber wie mit Webstandards, stoppt nicht Codierung, wenn Sie diesen Test bestehen.

Beantwortet am 04/08/2008 um 16:43
quelle vom benutzer

stimmen
5

Das Problem mit einem allgemeinen Werkzeug ist, dass es sehr schwierig ist, mit einer Reihe von Regeln zu entwickeln, die nur gegen einen echten Angriff übereinstimmen.

SQL-Schlüsselwörter sind alle englischen Wörter, und vergessen Sie nicht, dass die Zeichenfolge

 DROP TABLE users;

ist perfekt in einem Formularfeld, die zum Beispiel gültig, eine Antwort auf eine Frage der Programmierung enthält.

Die einzig sinnvolle Option ist die Eingabe zu sanieren, bevor es jemals zu Ihrer Datenbank durchzulassen, aber es auf dennoch passieren. Ansonsten viele ganz normale, nicht-böswillige Benutzer werden von Ihrer Website gebannt.

Beantwortet am 04/08/2008 um 16:11
quelle vom benutzer

stimmen
3

Oracle hat ein bekam Online - Tutorial über SQL - Injection . Auch wenn Sie eine fertige Lösung möchten, könnte dies Ihnen einige Hinweise, wie es zu benutzen besser , sich zu verteidigen.

Beantwortet am 05/08/2008 um 18:38
quelle vom benutzer

stimmen
3

Eine kleine Sache im Auge zu behalten: In einigen Ländern (zB den meisten Ländern Europas), die Menschen haben keine statische IP-Adressen, so eine schwarze Liste sollte nicht für immer sein.

Beantwortet am 04/08/2008 um 16:22
quelle vom benutzer

stimmen
3

Ein Verfahren, das für manche Fälle könnte funktionieren würde die SQL-Zeichenfolge zu nehmen, die ausgeführt würden, wenn Sie ganz naiv die Formulardaten und übergeben es an einigen Code, der die Anzahl von Anweisungen zählt, die tatsächlich ausgeführt würden. Wenn er größer ist als die Zahl erwartet, dann gibt es eine gute Chance, dass eine Injektion wurde versucht, vor allem für Felder, die unwahrscheinlich sind, um Steuerzeichen wie Benutzernamen enthalten.

So etwas wie ein normales Textfeld wäre etwas schwieriger, da dieses Verfahren viel wahrscheinlicher wäre falsch positive Ergebnisse zurück, aber dies wäre ein Anfang, zumindest sein.

Beantwortet am 04/08/2008 um 16:20
quelle vom benutzer

stimmen
0

Interessant, wie diese Jahre wird später von Google implementiert und ihnen die URL alle zusammen, um das Entfernen XSS-Angriffe und andere bösartige acitivites zu verhindern

Beantwortet am 24/07/2014 um 06:18
quelle vom benutzer

stimmen
0

Einer meiner Websites, wurde vor kurzem durch SQL-Injection gehackt. Er fügte hinzu, einen Link zu einem Virus für jedes Textfeld in der db! Das Update war einigen Code hinzuzufügen für SQL-Schlüsselwörter suchen. Glücklicherweise habe ich in ColdFiusion entwickelt, so dass der Code in meiner Datei Application.cfm sitzt, die am Anfang jeder Webseite ausgeführt wird und es bei allen URL-Variablen aussieht. Wikipedia hat einige gute Links zu helfen.

Beantwortet am 16/09/2008 um 15:04
quelle vom benutzer

stimmen
0

Jetzt, wo ich darüber nachdenke, ein Bayes-Filter, ähnlich denen verwendet um Spam zu blockieren könnten anständig arbeiten. Wenn Sie zusammen für jedes Feld einen Satz von normalen Text bekommen und eine Reihe von SQL-Injektionen, könnten Sie in der Lage sein, es Angriffe auf Flag Injektion zu trainieren.

Beantwortet am 04/08/2008 um 16:26
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more