SQL Injection Scanner Tools
Schwacher Web-App-Code kann Hackern den Zugriff auf Ihre Datenbank und Ihr Netzwerk ermöglichen
SQL Injection-Übersicht
SQL Injection ist derzeit die häufigste Form von Website-Angriffen, da Webformulare sehr häufig vorkommen, häufig nicht richtig codiert sind und die Hacking-Tools, mit denen Schwachstellen gefunden und ausgenutzt werden, häufig online verfügbar sind. Diese Art von Exploit ist einfach genug, um zu erreichen, dass selbst unerfahrene Hacker Unheil anrichten können. In den Händen des sehr erfahrenen Hackers kann eine Webcode-Schwäche jedoch den Root-Level-Zugriff auf Webserver aufdecken, und von dort aus können Angriffe auf andere Netzwerkserver ausgeführt werden.
Structured Query Language (SQL) ist die nahezu universelle Sprache von Datenbanken, die das Speichern, Bearbeiten und Abrufen von Daten ermöglicht. Datenbanken, die SQL verwenden, umfassen MS SQL Server, MySQL, Oracle, Access und Filemaker Pro, und diese Datenbanken unterliegen gleichermaßen SQL-Injection-Angriffen.
Webbasierte Formulare müssen einen gewissen Zugriff auf Ihre Datenbank ermöglichen, um die Eingabe von Daten und eine Antwort zu ermöglichen. Jedes Webformular, selbst ein einfaches Anmeldeformular oder Suchfeld, bietet möglicherweise Zugriff auf Ihre Daten mittels SQL-Injection, wenn es falsch codiert ist.
Funktionsweise von SQL Injection
Interessenten, Kunden, Mitarbeiter und Geschäftspartner haben möglicherweise das Recht, Informationen aus Ihrer Datenbank zu speichern oder abzurufen. Ihre Website ermöglicht es wahrscheinlich jedem Website-Besucher, Daten zu übermitteln und abzurufen. Legitimer Zugriff für Besucher umfasst Site-Suche, Anmeldeformulare, Kontaktformulare, Anmeldeformulare und all diese bieten Fenster in Ihre Datenbank. Diese verschiedenen Zugangspunkte sind möglicherweise in Standardanwendungen integriert oder können benutzerdefinierte Anwendungen sein, die nur für Ihre Website eingerichtet wurden. Diese Formulare und ihr unterstützender Code stammen wahrscheinlich aus vielen Quellen, wurden zu unterschiedlichen Zeiten erworben und möglicherweise von verschiedenen Personen installiert.
SQL Injection ist die Verwendung dieser öffentlich verfügbaren Felder, um Zugang zu Ihrer Datenbank zu erhalten. Dies geschieht durch Eingabe von SQL-Befehlen in Ihre Formularfelder anstelle der erwarteten Daten. Falsch codierte Formulare ermöglichen es einem Hacker, sie als Einstiegspunkt in Ihre Datenbank zu verwenden, an dem die Daten in der Datenbank sichtbar werden und der Zugriff auf andere Datenbanken auf demselben Server oder auf andere Server im Netzwerk möglich sein kann.
Website-Funktionen wie Kontaktformulare, Anmeldeseiten, Supportanfragen, Suchfunktionen, Feedbackfelder, Einkaufswagen und sogar die Funktionen, die dynamische Webseiteninhalte liefern, sind alle anfällig für SQL-Injection-Angriffe, da genau die Felder, die für die Verwendung durch Besucher dargestellt werden, mindestens einige SQL-Befehle direkt an die Datenbank übergeben müssen.
SQL Injection Risk
Da Datenbanken viele Website-Funktionen steuern, laden fast alle Websites Eingaben von Besuchern ein und so viele Webformulare sind anfällig, SQL Injection ist und bleibt seit Jahren die häufigste Form des verwendeten Website-Hacking-Tools. Darüber hinaus verwenden so viele Kriminelle jetzt SQL Injection, dass fast täglich neue Server-, Anwendungs- und Codeschwächen entdeckt werden.
Unsere eigenen Aufzeichnungen weisen darauf hin, dass die meisten (über die Hälfte) der Websites, die wir scannen sollten, SQL-Injection-Risiken auf hohem oder mittlerem Niveau aufwiesen. Ein hohes Maß an Risiko ist eine, die effektiv eine unverschlossene, unbewachte Tür ist. Ein mittleres Risiko ist eines, das in Kombination mit einem oder mehreren anderen Faktoren Probleme bedeuten kann. Eine noch größere Anzahl von Websites hatte Probleme mit geringem Risiko. Was Sie wissen müssen: Der Prozentsatz der Websites, die mindestens ein großes Risiko aufweisen, steigt tatsächlich.
Obwohl SQL Injection seit Jahren ein bekanntes Problem ist, gibt es mehrere Faktoren, die die Risikorate erhöhen. Erstens bieten immer mehr Unternehmen mehr Website-Interaktion mit Besuchern an, und dieser Trend nimmt dramatisch zu. Zweitens, da immer mehr Hacker Fähigkeiten in SQL Injection erwerben, entdecken sie mehr Anwendungen und Dienste, die anfällig für Angriffe sind, und entwickeln neue Angriffe auf alte Anwendungen. Das Ergebnis ist eine nahezu exponentielle Zunahme der Möglichkeiten, diese Angriffsmethode anzuwenden.
Ihr Risiko, mit SQL Injection erfolgreich angegriffen zu werden, hängt von zwei Faktoren ab: der Art und Größe Ihres Unternehmens und dem Alter, dem Status von Updates und Patches für Ihre Anwendungen sowie der Qualifikation und Anzahl Ihrer technischen Mitarbeiter. Es läuft darauf hinaus, ob Sie ein interessantes Ziel sind und ob Ihr Webserver, die darauf befindlichen Anwendungen und Ihr Website-Code gut gestaltet, gut integriert und mit allen aktuellen Patches und Updates ausgestattet sind.
Ihre Website ist in unmittelbarer Gefahr, wenn Ihr Unternehmen Daten von hohem Wert speichert, wenn Ihr Unternehmen oder Ihre Organisation in einem stark umkämpften Geschäftsbereich tätig ist oder wenn Ihre Website politische oder soziale Bedeutung oder Wert hat. Natürlich, wenn Sie etwas von Geldwert haben, dann sind Sie ein Ziel. Sie sind aber auch ein Ziel, wenn Ihre Website ein Meinungsführer in einem umstrittenen Umfeld ist. Wir wurden von Bloggern um Hilfe gebeten, da das dort behandelte Thema SQL-Injection-Angriffe ausgelöst hatte.
SQL-Injection-Angriffe werden jetzt online angefordert. Ein verärgerter Kunde, Konkurrent oder sogar Ex–Ehepartner kann jetzt leicht einen ‚Skript–Kiddie‘ – oder schlimmer noch, einen talentierten Hacker – einstellen, um eine Website anzugreifen. Die Wahrscheinlichkeit, dass der Hacker erwischt wird, ist gering. Die Wahrscheinlichkeit, dass die verärgerte Partei Ihrer Website Schaden zufügen kann, ohne als verantwortliche Partei angefingert zu werden, ist hoch.
Technisch gesehen besteht das Risiko einer SQL-Injection, wenn Sie über Geräte oder Anwendungen verfügen, die nicht routinemäßig aktualisiert und gepatcht wurden, oder wenn Sie Code auf Ihrer Site haben, der nicht korrekt geschrieben wurde. Das Alter der Geräte, der Anwendungen und des Codes ist ein grober Indikator für das Risiko. Eine andere ist die Anzahl der beteiligten Server, die Anzahl der Anwendungen und die Anzahl der Zugriffspunkte auf Websites. Wenn Sie gehostete Server verwenden oder ausgelagerte technische Ressourcen verwenden, ist eine Überprüfung der Sicherheit Ihrer Website durch Dritte wichtig. Und selbst interne Mitarbeiter können so unter Zeitdruck stehen und Ressourcen knapp werden, dass sich Updates und Patches verzögern oder alter Legacy-Code ohne ordnungsgemäße Überprüfung verwendet wird.
SQL Injection Example
Jedes Mal, wenn ein Websitebesucher Daten in ein Formular auf Ihrer Website eingibt, wird eine SQL-Abfrage generiert und an Ihre Datenbank gesendet. Im Falle eines einfachen Anmeldeformulars werden der Benutzername und das Kennwort der Datenbank angezeigt. Unabhängig davon, wie einfach das Formular oder der Webprozess ist, ist ein Datenbankzugriff erforderlich und eine Antwort wird erwartet.
Mit SQL Injection versucht ein Hacker, anstelle der erwarteten Informationen speziell gestaltete SQL-Befehle in ein Formularfeld einzugeben. Die Absicht ist es, eine Antwort aus der Datenbank zu sichern, die dem Hacker hilft, die Datenbankkonstruktion zu verstehen, z. B. Tabellennamen. Der nächste Schritt wäre der Zugriff auf und die Anzeige von Daten in wichtigen Tabellen oder das Hinzufügen von Daten zu Tabellen, z. B. das Hinzufügen neuer Konten oder Benutzernamen und Kennwörter. Der dritte Schritt wäre grob gesagt, den Zugriff auf die Datenbank zu verwenden, um Sicherheitseinstellungen auf einem Server zu ermitteln und zu ändern, die einem Hacker administrativen Zugriff ermöglichen.
Jede dynamische Skriptsprache einschließlich ASP, ASP.NET , PHP, JSP und CGI ist anfällig für Angriffe. Die einzige Ausrüstung, die benötigt wird, ist ein Webbrowser. Es gibt online weit verbreitete Tools, die die Suche nach Schwachstellen halbautomatisieren, und es gibt viele Foren, in denen Hacker Exploits austauschen und sich gegenseitig helfen, Hindernisse zu überwinden.
SQL Injection Outcomes
Wie Sie sich vorstellen können, bedeutet ein Hacker, der administrativen Zugriff auf Ihren Server erhält, dass Sie effektiv alle Daten auf diesem Server an den Eindringling verloren haben. Schlimmer noch, es gibt jetzt einen Brückenkopf hinter Ihrer Firewall, von dem aus Angriffe auf andere Server und Dienste ausgeführt werden können. Auf diese Weise kann SQL Injection Zugriff auf alle Unternehmens- oder persönlichen Daten gewähren.
Aus der Sicht eines Hackers ist ein Bestandteil des Hacks, der fast so wichtig ist wie der Einbruch, die Geheimhaltung. Das Auslösen eines Alarms ist das Letzte, was sie tun wollen. Ihre Infiltrationsarbeit braucht Zeit und oft sinkt der Wert gestohlener Daten, wenn der Diebstahl entdeckt wird (z. B. wertvolle Informationen bei Identitätsdiebstahl oder Kreditkartendiebstahl). So werden SQL Injection Hacks oft Monate und in einigen Fällen Jahre nach ihrer Initiierung entdeckt.
Alternativ, wenn völliger Schaden die Absicht ist, dann gibt es keinen Mangel an schlechten Dingen, die einer Datenbank angetan werden können, sobald man Zugriff auf laufende Befehle erhalten hat. Eine ganze Tabelle kann mit einem einzigen SQL-Befehl dauerhaft gelöscht werden. Ein ausgefeilterer SQL-Injection-Angriff könnte jedoch eine massive Beschädigung großer Datenbanken und sogar die Zerstörung von Sicherungskopien beinhalten.
Abwehr von SQL-Injection
Da Websites ständigen Zugriff auf die Datenbank erfordern, bieten Firewalls wenig oder gar keinen Schutz gegen SQL-Injection-Angriffe. Ihre Website ist öffentlich und Firewalls müssen so eingestellt sein, dass jeder Website-Besucher Zugriff auf Ihre Datenbank erhält, normalerweise über Port 80/443.
Antivirenprogramme sind ebenso wirkungslos bei der Blockierung von SQL-Injection-Angriffen. Sie sollen eine ganz andere Art von eingehenden Daten erkennen und stoppen.
Die am häufigsten verwendete SQL-Injection-Abwehr besteht aus zwei Komponenten. Zunächst erfolgt ein routinemäßiges Aktualisieren und Patchen aller Server, Dienste und Anwendungen, was natürlich viele Vorteile hat und gängige Praxis ist. Dann wird gut geschriebener und getesteter Website-Code erstellt und verwendet, der unerwartete SQL-Befehle nicht zulässt.
Diese beiden Abwehrmechanismen reichen per Definition aus, um jeden SQL-Injection-Angriff zu stoppen. Warum nehmen also die Schwachstellen und Risiken von Websites zu und warum treten erfolgreiche Angriffe häufiger auf? Die Antworten sind jeweils einfach, und kombinieren in eine entmutigende Liste:
- Die Anzahl der Server, Anwendungen und des Codevolumens auf Websites nimmt zu
- Diese Server, Anwendungen und Codesprachen interagieren auf manchmal unvorhersehbare Weise miteinander
- Die Anzahl und Häufigkeit von Updates und Patches nimmt zu
- IT-Abteilungen erledigen mehr Arbeit mit weniger Personal und einige Aktivitäten wie Updates werden verschoben
- Fluktuation der IT-Mitarbeiter und Entlassungen hinterlassen manchmal getarnte Löcher in Sicherheitsroutinen
- Die automatische Installation jedes Patches und Updates, das häufig mitgeliefert wird, erzeugt unerwünschte Nebenwirkungen
- Legacy-Code wird häufig wiederverwendet, wenn Websites aktualisiert werden, wobei Code, der nach alten Standards geschrieben wurde, manchmal lange nach seiner Obsoletheit verwendet wird
- Die Anzahl der Personen, die versuchen, Hacks durchzuführen, und die Anzahl der verfügbaren Tools zur Vereinfachung des Hackens steigen beide fast exponentiell an
Immer mehr Unternehmen mit großen Risikofaktoren und großen Web-Fußabdrücken kommen zu dem Schluss, dass alles gepatcht und mehr Personal eingestellt wird, um die Arbeit des bestehenden Personals ist nicht mehr lebensfähig.
Web Site SQL Injection Scanner Tool Solution
Die neue Lösung für SQL Injection-Angriffe (und alle anderen webbasierten Angriffe) besteht darin, begrenzte und wertvolle IT-Zeit auf die tatsächlich vorhandenen ernsthaften Risiken zu konzentrieren, anstatt einen Schrotflintenansatz zu verwenden und jede mögliche Lösung auf jeden Server, jede Anwendung und jede Codeseite anzuwenden, unabhängig davon, ob sie benötigt wurde oder nicht. Dieser neue Ansatz ist so, als würde ein Arzt einen Patienten untersuchen und das EINE Medikament verbieten, das benötigt wird, um eine Heilung herbeizuführen, anstatt den Patienten direkt in die Apotheke gehen zu lassen, um alle möglichen Medikamente zu bekommen und sie alle auf einmal einzunehmen.
Somit wird mehr Sicherheit durch die Verwendung von Webanwendungstesttools wie beSECURE als SQL-Injection-Scanner-Tool erreicht, um eine Website anhand einer Liste von Tausenden bekannter Angriffe zu untersuchen (zu scannen) und dann über die relativ wenigen (normalerweise weniger als ein Dutzend) schwerwiegenden Probleme zu berichten.
Das Scannen von Websites basiert auf der Erkennung und Meldung BEKANNTER Risiken. Gemeinsame Hacking ist sehr ‚öffentliche‘ Aktivität. Die Werkzeuge werden weithin gefördert. Techniken werden in öffentlichen Foren breit verbreitet. Sogar neue Methoden werden innerhalb von Stunden oder Tagen nach ihrer ersten Verwendung veröffentlicht, dank Gruppen wie SecuriTeam.com und andere, die aufpassen und dann andere im Großen und Ganzen warnen.
BeSECURE, das automatisierte Schwachstellenerkennungssystem, ist ein webbasierter Dienst, der eine Zusammenstellung aller bekannten Risiken in Familien und aller Familien in einer einzigen Datenbank verwendet, deren Kompilierung viele Jahre und deren Wartung viele Stunden am Tag in Anspruch genommen hat. Mit dieser Datenbank kann beSECURE jede Website bewerten und einen Bericht über REALE und GEGENWÄRTIGE Risiken erstellen, die nach ihrer relativen Bedeutung bewertet werden – oft innerhalb von Stunden und ohne die laufenden Website-Aktivitäten zu stören.
Jetzt können Sie Ihre wertvollen IT-Arbeitsstunden nutzen und reale Risiken wie SQL-Injection direkt angehen, anstatt Hunderte von Stunden mit der Installation von Patches und Updates zu verbringen, von denen die meisten nicht benötigt werden oder die mit Risiken umgehen, die so gering sind, dass sie vernachlässigbar sind.
Für weitere Informationen über beSECURE benutzen Sie bitte das Formular auf dieser Seite oder kontaktieren Sie uns.