schutz gegen hacker



  • Dafür würde ich dir folgendes Buch empfehlen:

    PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren

    ISBN-10: 3898645355
    ISBN-13: 978-3898645355



  • Danke für deinen Hinweis



  • Vielleicht muss ich meine Frage noch etwas ändern. Wie kann ich eine Webseite hacken



  • Es ist aber KEINE kriminelle Absicht dahinter. 🤡



  • Nein warum ?
    Wenn ich wirklich eine WebSeite hacken will, dann würde ich es doch wohl nicht hier öffentlich bekanntgeben oder ?

    Nein wirklich nicht. ICh habe eine Seite und will mal versuchen sie zu knacken



  • Normalerweise werden sog. Exploits von Crackern (nicht Hackern -) ausgenutzt, d.h. Schwachstellen in der verwendeten Server-Software (z.B. Apache, IIS, ...)
    SQL-Injection und Brute-Force sind nur oberflächliche Angriffe (d.h. es wird sich kurzfristig Zugang zum System geholt - normalerweise kann man damit aber nicht fremden Code nativ auf den Server einschleusen).



  • Aber ist SQL-Injection eigentlich nicht harmlos , denn man muss ja den Aufbau der Datenbank kenn. Oder täusche ich mich



  • Fischkopf2009 schrieb:

    Aber ist SQL-Injection eigentlich nicht harmlos , denn man muss ja den Aufbau der Datenbank kenn. Oder täusche ich mich

    Den Aufbau der DB kannst du dir ja holen, wenn/falls du die Antwort der SQL-Abfragen kriegst.



  • Der Aufbau der Datenbank ist nicht unbedingt notwendig zu wissen. Bei schlechter Programmierung reicht schon ein einfaches "OR 1=1" ... dahinter was zum auskommentieren und davor das Stringabschlusszeichen.
    Jedes Eingabefeld, was ungeprüft in / aus der Datenbank kommt, kann man ausnutzen.

    http://www.owasp.org



  • Okay also ich habe meine Seite jetzt so gestaltet, dass ich den Benutzer namen bereits vorgebe. Soll ein Froum für Studenten einer UNI werden. Mit der Matrikelnummer kommt man dann gleich in seinen fahcbereich.

    Wenn ich im Passwort Feld nun OR'1'='1' hinzufüge bekomme ich vom Webserver :

    Database error: Invalid SQL: Select studentenid, kurs FROM studenten WHERE matrikelnr='OR'1'='1''
    MySQL Error: 1064 ( You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1'='1''' at line 1)

    Kann ein Hacker damit etwas anfangen =



  • dann gib mal folgendes als nummer ein:

    ' OR 1 = 1 LIMIT 1 --

    und ja, er kann damit was anfangen



  • Was macht der Befehl.

    Es gibt ja keine leere Matrikel nummer in der Datenbank



  • setz es doch einfach mal in deinen query ein

    dafür gibts mysql_real_escape



  • Bei eigenen PHP-Scripts musst du sämtliche Daten vom Benutzer sichern (z.B. durch das hier genannte mysql_real_escape). Das umfasst POST, GET und COOKIE, denn diese Daten kann der Benutzer manipulieren.

    Wenn du irgendeinen Inhalt aus $_POST, $_GET oder $_COOKIE ungesichert in einer Datenbank-Query nutzt, dann hast du definitiv eine Sicherheitslücke.
    Wenn Benutzer durch irgendwelche Eingaben MySQL-Syntaxfehler produzieren können, dann hast du auch definitiv eine Sicherheitslücke.



  • zwutz schrieb:

    dann gib mal folgendes als nummer ein:

    ' OR 1 = 1 LIMIT 1 --

    und ja, er kann damit was anfangen

    Was kann man damit machen



  • Fischkopf2009 schrieb:

    Okay also ich habe meine Seite jetzt so gestaltet, dass ich den Benutzer namen bereits vorgebe. Soll ein Froum für Studenten einer UNI werden. Mit der Matrikelnummer kommt man dann gleich in seinen fahcbereich.

    Wenn ich im Passwort Feld nun OR'1'='1' hinzufüge bekomme ich vom Webserver :

    Database error: Invalid SQL: Select studentenid, kurs FROM studenten WHERE matrikelnr='OR'1'='1''
    MySQL Error: 1064 ( You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1'='1''' at line 1)

    Kann ein Hacker damit etwas anfangen =

    Cool, das sieht ja vielversprechend aus. 👍

    Poste doch mal die URL.



  • Was würdest du als nächstes machen und wie



  • Fischkopf2009 schrieb:

    Was würdest du als nächstes machen und wie

    http://www.google.de/search?q=sqlinjection+tutorial



  • Ich habe jetz tdas Textfeld (eingabe für nutzernamen und passwort) auf 8 zeichen begerenzt und die ddaten werden als post aus einem formular übertragen. so jetzt ist es doch schon sehr schwer fremenden code in den server zu hacken oder ?



  • Fischkopf2009 schrieb:

    Ich habe jetz tdas Textfeld (eingabe für nutzernamen und passwort) auf 8 zeichen begerenzt und die ddaten werden als post aus einem formular übertragen. so jetzt ist es doch schon sehr schwer fremenden code in den server zu hacken oder ?

    Nein!

    Du hast gerade statt deine Wohnungstür abzusperren einfach nur einen Tisch vor die Tür gestellt. Natürlich ist ein Tisch vor der Tür besser als eine offene Tür - aber ist eine zugesperrte Tür nicht immernoch das beste?

    Usereingaben müssen Escaped werden. Punkt. Keine Diskussion bitte.


Anmelden zum Antworten