SQL Injektion

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Falscher Beitrag

    Das ist hier verboten ...


    Kann es sein, das du garnicht weißt was es bedeutet?

    Es geht um den Schutz von Datenbanken. mysql - sql Programmierung

    Jeder der sich mit php und mysql beschäftigt kommt an diesen Thema nicht vorbei.
    In vielen Bücher wird das garnicht beschrieben.
    Da kann es schnell passieren, das böse Hacker die Datenbank leeren.
    Deshalb muß man die sql so programieren, das dieses unterbunden wird.
    Und das nennt sich SQL Injektion.

    Und du sagst es ist verboten ???
    Aber Hallo.
    Belese dich erst worum es geht, bevor du eine Antwort schreibst.

    Vielleicht kennst sich jemand damit aus und kann mir da ein paar Tipps geben, wie ich meine Datenbank sichern kann vor mißbrauch.

    mfg
    Peter
  • Wikipediazitat:
    SQL-Injektion (engl. SQL Injection) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL-Datenbanken. Diese entsteht bei mangelnder Maskierung oder Überprüfung von Funktionszeichen. Der Angreifer versucht über die Anwendung, die den Zugriff auf die Datenbank bereitstellt, eigene Datenbankbefehle einzuschleusen. Sein Ziel ist es dabei, Kontrolle über die Datenbank oder den Server zu erhalten.


    so kenn ich das auch :D
    ich glaube du willst hilfe zum vermeiden der sql-injection oder?
  • Das einfachste ist einfach ein Usernamen zu wählen auf den keiner kommt und ein Passwort was sehr lang ist und ebenfalls einfach niemand wissen kann.

    zB:

    User: Schraubenziehermitzangeundhammer
    Pass: Telefonhörerladegerätmir12vladestrom

    solche wörter gibt es nichtmal und es wird daher nur eine chance von etwa

    ~ 0,00001% geben das jemand einen Code in deine SQL-Datenbank injezieren
    kann ;)

    gruß rave
  • Hallo WoD_BoOm,

    genau das ist es.
    Ich habe ein Formular, was gehackt wurde.
    Es wurde ein sql befehl eingeschleust, welches die Datenbank löscht.
    War nicht sehr erfreut.
    Captcha Modul habe ich drin, damit der Spam aufhört, aber der Script muß geändert werden, damit es nicht normal passiert.
    Über eine PN würde ich mich freuen.
    Möchte den Script hier nicht öffentlich posten.
    Danke.
    mfg
    Peter
  • Und ob ich weis worum es sich handelt.

    Ok,

    erstmal such bei google nach "Blind SQL Injection". Zu diesem Thema findest du einiges an Material, auch zur normalen SQL-Injection.

    Dann kannst du auch gleich mal nach Cross-Site-Scripting schauen (XSS). Das ist in diesem Bezug auch für die interessant.

    Was raveshow da schreibt ist recht sinnlos, das hat nix mit SQL-Injection zu tun, eher mit dem bruten einer Seite.

    Mal ein Bsp.:
    Query: Select * from user where id="$id"
    Soo, wie kann man dieses Query manipulieren?
    Indem man z.B. folgenden String für $id übergibt:
    asd" or 1=1
    Da letzte Bedingung immer wahr ist werden alle Datensätze ausgegeben. Diese Grundform kann man natürlich noch weiterspinnen.

    Und jetzt zum vermeiden:

    ERSTE REGELN IN DER WEBPROGRAMMIERUNG: TRAUE NIEMALS EINEM USER!

    Wenn du was für das Web programmierst prüfe immer ALLE Eingaben die User machen.
    In PHP kenn ich mich nicht so aus, aber da gibts so Optionen die nehmen dir Arbeit ab(MagicQuotes,...). Sonst escape wichtige Zeichen wie " oder verbiete diese Zeichen ganz, bzw. filtere sie aus dem String bevor du ihn weiterverarbeitest.

    Ich glaube in einer der neusten PHP Versionen wurde ein Funktion eingebaut, die vorgefertigte Muster bietet, um z.B. EMails zu validieren. Musste mal nachschauen in den Changelogs der einzelnen Versionen.

    Um das alles besser zu verstehen empfele ich dir die einschlägig bekannten Seiten auf denen du Exploits findest. Schau dir diese Exploits an und vollziehe nach wie sie funktionieren, dann weist du auch wie du dich schützen kannst/musst.

    P.S.: Alle Möchtegern PHP-Programmierer die in ihren Script fleissig ihre mysql_connect mysql_query Befehle tippen haben keine Ahnung und da ist es kein Wunder wenn solche Scripts gehacked werden.

    Schau dir das mal an und nimm die Möglichkeit wahr ordentliche Software zu schreiben:
    Database Abstraction With PHP


    mfg
    Tischler