Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL-Injection

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SQL-Injection

    Hallo,

    kann man in einem Text bösartigen Code einschleusen?
    Hier ein Beispiel:
    SELECT * FROM tabelle WHERE name='$suchtext';

    Ist es möglich, dass man da Code einschleusen könnte?

    Danke

  • #2
    Ja, zB wenn
    Code:
    $suchtext = "'; SHOW TABLES";
    oder
    Code:
    $suchtext = "'; INSERT INTO User (name, permissions) VALUES ('schummeladmin', 'darfalles')";
    Deshalb macht man
    Code:
    $query = "SELECT * FROM tabelle WHERE name='".addslashes($suchtext)."'";
    Dann werden die ' in der Variablen $suchtext 'ausgesslashed' und verlieren ihre beabsichtigte Funktion. Stadtdessen wirde das 'böswillige' SQL einfach als Text behandelt und halt danach gesucht.

    Gruß
    Der Desian
    Wenn dich was ankotzt, machs besser.

    Kommentar


    • #3
      ich danke dir

      Kommentar


      • #4
        Statt mitt addslashes() lieber mit mysql_real_escape_string() arbeiten, da mit hoher Warscheinlichkeit magic quotes ohnehin eingeschaltet ist.

        Hier ein Beispiel für 'best practice':

        PHP-Code:
        $suchtext mysql_real_escape_string($suchtext);

        $sql "SELECT * FROM tabelle WHERE name='%s'";

        $sql sprintf($sql$suchtext);

        mysql_query($sql$dbcnx); 
        Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.

        Kommentar


        • #5
          Kannst auch mal hier durchschmökern .. vielleicht findet man da noch etwas:
          http://forum.developers-guide.net/showthread.php?t=159

          Grüße Ben.
          [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

          Kommentar

          Lädt...
          X