Hacken durch SQL ?

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

  • Hacken durch SQL ?

    hmm, der Titel passt net so richtig, aber eigentlich ist die Frage recht simpel.

    Folgendes: Ich hab nen Javascript, da kann man verschieden variablen eingeben.
    Diese Javascript, gibt dann durch SQL wieder was zurück.

    Bsp:

    PHP-Code:
    $result $DB_site->query("SELECT
    t.title, t.threadid
    FROM thread t
    LEFT JOIN forum f ON(f.forumid = t.forumid)
    WHERE t.visible = 1 AND f.active = 1 AND f.forumid IN(
    $forumids)
    ORDER BY dateline DESC
    LIMIT 0,
    $limit
    "
    ); 
    so, die variabeln, die oben zusehen sind, dürfen der javas. eingegebn werden.

    $limit and $break, hab ich der intval() gelöst.
    Nur das IN() bereitet mir sorgen, könnte man dadurch was zerstören, wenn man die variable fürs IN() etwas umbaut ?

  • #2
    Variablen die von Dir selbst nicht selbst erstellt wurde würde ich erstmal überhaupt nicht vertrauen ...

    In diesem Falle würde ich ... auf Grund des Statements die Sache nicht wirklich für riskant halten ... allerdings ... könnte ein Benutzer der die Variable $forumids via GET Request bearbeitet durch die Angaben wie

    &forumids=1%29+OR+t.visible+%3D+t.visible+OR+%28f.forumid%3Df.forumid&

    durchaus ein nicht von Dir erwünschtes Ergebnis produzieren ...

    Ist aber nur eine vorläufige Analyse ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Genau sowas meinte ich, denn da gabs ja mal sowas von nem forum (wbb) *G*, da konnte man durch sowas das ganze board zerstören.

      mysql_escape_string, ist mir grad so durch den kopf gegangen, nur weis ich grad net, ob das dieses prob verhindern könnt, *mysql_escape_string war durch für solche sachen gedacht ... oder irre ich mich mal wieder voll und ganz ?

      EDIT //:

      Was mir grad so durch den Kopf geht, könnte man das net so verhindern:

      Das die variabel $forumids so aussieht, wie jetzt nur dann halt, das Komma mit explode in ein array rein, das ganze array dann durchgehen mit intval und dann wieder zusammenhauen ?
      Zuletzt geändert von CannabisCow; 15.12.2002, 19:06.

      Kommentar


      • #4
        Da gibt es in diesem Zusammenhang einen Abschnitt zum Thema MySQL
        http://www.oreilly.de/artikel/php_sicherheit.html

        Kommentar

        Lädt...
        X