![]() |
Hacker SQL Injection?
Hi,
gerade hat jemand wie ich vermute eine SQL Injection auf meinen Server versucht. Dieser Code wurde im Kotaktformular eingegeben: \' declare @q varchar(8000) select @q = 0x57414954464F522044454C4159202730303A30303A313527 exec(@q) -- Kann jemand dazu genaueres sagen? Und wie man das verhindert? Kontaktformular solange offline gesetzt. Edit: Das habe ich bislang herrausgefunden: "That means select WAITFOR DELAY '00:00:15'-- Hacker tried use waiting functions and analyze response times to test if blind SQL injection is possible. " |
AW: Hacker SQL Injection?
Zitat:
Zur Frage: Was soll verhindert werden? Die Eingabe so einer Zeichenfolge kann man kaum verhindern. Es gibt leider böse Menschen und es gibt auch böse Menschen mit SQL Kentnissen und Internetzugang. Von irgendwelchen Javascript Validierungen würde ich abraten, das bringt nichts. Was man natürlich verhindern kann ist, dass durch solche Eingaben Schaden angerichtet wird. Dafür ist eine sorgsame Prüfung auf Serverseite Pflicht. Jede Usereingabe muss als Angriffsversuch eingestuft werden und darf keinesfalls einfach so einer Datenbank übergeben werden. Geeignete Gegenmaßnahmen sind z.B. Datenbankabfragen mit Parametern. Um da genaueres sagen zu können, wäre ein Blick auf die relevante Stelle im Code praktisch. |
AW: Hacker SQL Injection?
Eine Überprüfung des eingegeben Strings auf "SQL Statements" und bei Findung die Anfrage nicht absenden ist auch eine Möglichkeit?
Das ging mir gerade als erstes durch den Kopf. |
AW: Hacker SQL Injection?
Ich gehe davon aus, dass die Anfrage gar nicht erst in einer Datenbank landet sondern direkt per Mail verschickt wird?
Dann ist das kein Sicherheits-Problem, sondern eher ein nerviges 'Spam-Like' Problem. Viele dieser Angriffe sind automatisiert. Das heisst da läuft irgendwo ein Tool und probiert die Dinger automatisch durch, ohne User-eingabe. Meistens scannen die Tools die Webseite, erkennen die Formularfelder und führen einen Post darauf durch. Du könntest das Formular z.B. so absichern, dass Du ein Eingabefeld mit type="hidden" in das Formular packst und dort einen Wert reinschreibst. Ein Javascript auf der Seite nimmt das Eingabefeld und schreibt dort einen anderen Wert rein. Beim Auswerten des Formulars schaust Du, ob der ursprüngliche oder der andere Wert zurück kommt - wenn es nicht der neue war, war das niemand mit einem Browser, und die Eingabe kann verworfen werden. Somit bekommst Du höchstens noch manuelle Angriffsversuche mit. |
AW: Hacker SQL Injection?
Hm und bei deaktiviertem Javascript, wäre dann aber auch bei einer echten Anfrage ein Verwerfung (Auch wenn es glaube ich selten deaktiviert ist).
|
AW: Hacker SQL Injection?
Zitat:
|
AW: Hacker SQL Injection?
Ah ok, das mach ich sowieso immer, da wir noch eine Suchanfrage besitzen.
Dann muss ich mir keine Sorgen machen :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz