Angriff auf SQL-Datenbank ...

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

  • Angriff auf SQL-Datenbank ...

    Hallo an alle!

    Auf die SQL-Datenbank eines unserer Kunden werden seit heute morgen "Angriffe" gestartet. Wahrscheinlich ist es so, dass der Angreifer ein Programm benutzt, welches die Website des Kunden besucht, in die Eingabefelder auf dieser Website seinen (der Angreifer) eMail-Adressenbestand eingibt und die Seite dann ausführen lässt. Dadurch werden Einträge in einer Tabelle gemacht und dem "Interessenten" eine eMail mit dem Bestätigungslink verschickt (was ja korrekt ist, wenn ein "richtiger" Interessent sich anmeldet).

    Was für Möglichkeiten habe ich jetzt, den Angreifer abzuwehren??

    Danke im Voraus.

    Innuendo

  • #2
    flooding Sperre ... und das geht so (z.B.)

    1. E-Mail erstmal mit IP und Uhrzeit in die DB eintragen (Flag bearbeitet = 0)
    2. per cron oder so:
    wenn von einer IP innerhalb einer bestimmten Zeit soundsoviele Submissions kamen, alle weg.
    3. alle anderen, die ein bestimmtes Alter erreicht haben, bearbeiten
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      zu 1.: Es sind aber ständig sich wechselnde Adressen.

      zu 2.: Es lässt sich keine IP aufzeichnen. Die einzige IP, die ich aufzeichen kann (und auch aufzeichne) ist die des Servers, auf dem die Seiten liegen.

      Kommentar


      • #4
        ergänz doch das eingabeformular mit einem lustigen bildchen, das
        einen einmalcode abbildet (auf einem karierten hintergrund) ... ein
        zusatzfeld in das formular für die code-eingabe und gut ist.
        Kissolino.com

        Kommentar


        • #5
          Original geschrieben von Wurzel
          ergänz doch das eingabeformular mit einem lustigen bildchen, das
          einen einmalcode abbildet (auf einem karierten hintergrund) ... ein
          zusatzfeld in das formular für die code-eingabe und gut ist.
          Für den weiteren Anmeldeablauf eine gute Idee. Ob die momentanen Angriffe damit abgewehrt werden können: Fraglich.

          Kommentar


          • #6
            warum?
            ... keine codeeingabe ... kein eintrag
            ... falsche codeeingabe ... kein eintrag

            ... kein eintrag ... keine mail, keine weitere aktion, kein stress.
            Kissolino.com

            Kommentar


            • #7
              Ist karierter Hintergrund nicht ein bisken einfach?
              Ich würd mit verschiedenen Farbtönen arbeiten.

              Auf jeden Fall drauf achten, dass der Code nicht in der Bild-URL vorkommt!
              In der Session speichern halt ich für ne sinnige Idee.
              mein Sport: mein Frühstück: meine Arbeit:

              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

              Kommentar


              • #8
                Danke für den Tipp. Ich muss das jetzt sowieso erstmal zusammenzimmern.

                So oder so werden rechtliche Schritte eingeleitet.

                Kommentar


                • #9
                  Original geschrieben von Titus
                  Ist karierter Hintergrund nicht ein bisken einfach?
                  Ich würd mit verschiedenen Farbtönen arbeiten.
                  Machen die sich wirklich den Aufwand, da eine Texterkennung drüber laufen zu lassen? Da ist es für die doch viel einfacher, die nächste Seite zu nehmen.

                  Bei der c't hatten die mal sowas ähnliches:
                  Da war ein Bild, und auf dem Bild stand nicht direkt der Code, sondern eine Anleitung, was man eingeben sollte.
                  z.B. Zweiter Buchstabe von Fahrrad, Ausrufungszeichen usw.
                  hopka.net!

                  Kommentar


                  • #10
                    Original geschrieben von Titus
                    Ist karierter Hintergrund nicht ein bisken einfach?
                    Ich würd mit verschiedenen Farbtönen arbeiten.
                    kommt imho auf die kontraste an ... grauer text auf grauem grund ... 5° gedreht und du wirst automatisch ein echtes problem bekommen
                    EDIT:
                    beispiel dazu gibt es hier: http://www.php-resource.de/forum/sho...threadid=39848
                    Zuletzt geändert von Wurzel; 04.06.2004, 11:06.
                    Kissolino.com

                    Kommentar


                    • #11
                      Hallo, ich mal wieder.

                      Das Problem besteht weiterhin, obwohl ich Wurzels Methode eingebaut habe. Wie kann dieser A**** immer noch Anmeldungen durchführen, obwohl er gar nicht wissen kann, welcher Code gerade in der Grafik angezeigt wird? Irgendwelche Tipps??

                      Danke im Voraus.

                      Innuendo

                      Kommentar


                      • #12
                        is zwar leider etwas spät ... (hat mir persönlich sehr weitergeholfen):

                        ---
                        Artikel von Wojciech Jukowski "Webrobotter stoppen - und mit Bildern identifizieren" von der Ausgabe Jaunar/Februar 2004 vom Generieren der Bilder, die uns vor Download-Automaten schutzen.

                        http://www.phpsolmag.org/files/token_de.pdf
                        http://www.phpsolmag.org/files/token_demo_de.zip
                        ---

                        hast du das so eingebaut?

                        Kommentar


                        • #13
                          Ja, den Artikel habe ich gelesen. Zwar nicht exakt so umgesetzt wie dort, aber meine Methode funktioniert. Was mich ja verwundert, ist, dass der Spinner dennoch die Datenbank befüllen kann.

                          Die jetzige Lösung funktioniert tadellos. Man muss vier Sachen eingeben: Den Vornamen, den Nachnamen, die eMail-Adresse und den schon angesprochenen Bild-Code. Wird der Bild-Code nicht oder fehlerhaft eingegeben, findet keine Eintragung in die Datenbank statt. So ist es ja auch korrekt. Wie schon gesagt: Es werden trotzdem Einträge in die Datenbank eingefügt, obwohl dies gar nicht möglich ist.

                          "Naive" Versuche wie das Umbenennen der Namen der Eingabefelder o.ä. hatten keinen Erfolg gebracht, da der Junge (wahrscheinlich) mit einem Programm die Anmeldeseite aufruft, sie Zeile für Zeile durcharbeitet und immer dann, wenn er auf ein Eingabefeld trifft, dieses entsprechend füllt und dann die Seite ausführen lässt. Von daher ist es wirklich egal, wie das Eingabefeld heißt, das Programm kann dennoch sein Werk vollführen. Es braucht ja immer nur den name-Parameter des input-Tags auslesen. Nun kann ich diesen aber nicht weglassen, sonst kann ich die Formulareingaben ja gar nicht verarbeiten.

                          Kommentar


                          • #14
                            Das Problem besteht weiterhin, obwohl ich Wurzels Methode eingebaut habe.
                            kenne Wurzels methode nur von drüberlesen ... wieviel verschiedene wörter benutzt du? sinvolle? edit: habs grad gesehen, rand ==> fehlversuche speichern ...
                            "Naive" Versuche wie das Umbenennen der Namen der Eingabefelder o.ä. hatten keinen Erfolg gebracht, da der Junge (wahrscheinlich) mit einem Programm die Anmeldeseite aufruft,
                            sicher, daß der über das formular kommt? kannst du mal zusätzulich bei erfolglosen versuchen die versuchsdaten speichern? bring vielleicht mehr klarheit ....
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar


                            • #15
                              Original geschrieben von derHund
                              wieviel verschiedene wörter benutzt du? sinvolle?
                              Ich benutze gar keine Worte, sondern eine vom Skript erzeugte sechs Zeichen umfassende zufällige Ziffern-Buchstaben-Kombination. Eine, wie ich denke, sehr sichere Methode.

                              Original geschrieben von derHund
                              sicher, daß der über das formular kommt?
                              Sehr sicher, weil beim Eintragen in die Datenbank eine eMail mit einem Bestätigungslink verschickt wird. Das weiß ich daher, weil ich vom Kunden eMails zugeschickt bekam, worin die Leute darauf hingewiesen haben, dass sie sich für den Newsletter nie angemeldet haben und dennoch die eMail mit dem Link bekamen.

                              Original geschrieben von derHund
                              kannst du mal zusätzulich bei erfolglosen versuchen die versuchsdaten speichern? bring vielleicht mehr klarheit ....
                              Erfolglose Versuche kann es nicht geben. Das Skript überprüft, ob in den Formularfelder etwas drin steht. Sind beispielsweise nur die ersten drei ausgefüllt (und damit das Bild-Code-Feld nicht), wird weder etwas in die DB eingetragen noch eine eMail verschickt. Erst wenn ALLE Felder ausgefüllt wurden (und dabei das Bild-Code-Feld logischerweise korrekt), erst dann wird der Datensatz angelegt und die eMail verschickt. Selbst wenn man nur das Bild-Code-Feld ausfüllen würde, es würde dennoch kein Datensatz angelegt werden. Die Formularinhalte überprüfen tue ich natürlich mittels PHP und nicht mittels Javascript.

                              Kommentar

                              Lädt...
                              X