SQL Injection.

  • Was ist eine SQL Injection.
    Ich glaube Wikipedia erklärt diese ganz gut.

    Zitat

    SQL-Injection (dt. SQL-Einschleusung) bezeichnet das Ausnutzen einer Sicherheitslücke in Zusammenhang mit SQL-Datenbanken, die durch mangelnde Maskierung oder Überprüfung von Metazeichen in Benutzereingaben entsteht. Der Angreifer versucht dabei, über die Anwendung, die den Zugriff auf die Datenbank bereitstellt, eigene Datenbankbefehle einzuschleusen. Sein Ziel ist es, Daten auszuspähen, in seinem Sinne zu verändern, oder Kontrolle über den Server zu erhalten (Computerkriminalität).

    Fazit des Zitates : Ihr könnt an andere daten kommen.

    Sql Injection , klingt doch verlockend:

    Eine sqlinjection ist nie verlockend da ihr wissen müsst das die betreiber der homepage/server's genauso menschen wir ihr seit und somit ihr ihnen schadet.

    Was kann man dennoch mit einer SqlInjection machen.

    Es gibt leute die sich damit befassen undzwar suchen sie lücken in anderen Homepages und sagen es den betreibern das sie diese lücke fixxen können.

    Wie sieht soeine sql injection aus
    Auch diesen schritt erklärt wikipedia super.
    Aufruf http://webserver/cgi-bin/find.cgi?ID=42
    Erzeugtes SQL SELECT author, subject, text FROM artikel WHERE ID=42

    Eine SqLInjection ist sprich nicht mehr als BEfehle zu manipulieren.
    Nun. Wie schütz man sich vor so einer kathastrophe:

    Auch dieses Thema spricht Wikipedia schön an:

    PHP
    Ein Beispiel für MySQL: anstatt
       $abfrage = "SELECT spalte1
                FROM tabelle
                WHERE spalte2 = '".$_POST['spalte2Wert']."'";
    $query = mysql_query($abfrage) or die("Datenbankabfrage ist fehlgeschlagen!");

    Sollte folgendes verwendet werden:

    PHP
    $abfrage = "SELECT spalte1
                FROM tabelle
                WHERE spalte2 = '".mysql_real_escape_string($_POST['spalte2Wert'])."'";
    $query = mysql_query($abfrage) or die("Datenbankabfrage ist fehlgeschlagen!");


    Das war das wichtigste was ihr wissen müsstet (Will euch nicht zuviel verraten)
    Ihr wisst jetzt wie ihr euch absichert , und wie ihr handeln könnt
    Bei fragen könnt ihr mich natürlih Pn'n.

    Mfg Alucard

  • Eine erklärung zu mysql_real_escape_string(); wäre ganz interessant für Neulinge.

    [COLOR=Red][/COLOR][CENTER]
    [/CENTER]

  • Erklär mal wieso z.b:
    index.php?id=1 AND 1=1
    mysql_query('select id from page where '.$_GET[id]);

    Das AND 1=1 ausgeführt wird?
    Ich könnte ja auch so machen:
    index.php?id=1; echo 'hallo';
    $neuevar = $_GET['id'];
    Aber das Echo fürht er nicht aus?

  • Mach ich sobald ich luft hab danke fürs feedback

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!