Seite 3 von 9 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 90

Thema: Die derzeitige Gästebuch-Spam-Attacke ...

  1. #21
    Neues Mitglied
    Registriert seit
    20.02.2006
    Beiträge
    16

    Standard

    Zitat Zitat von heinerle
    Der Bot braucht doch nur die (HTML-)Seite aufrufen, die das Formular bereitstellt. Da sieht er dann:

    <form action="/geheimerPfad/gb.php" method="POST">
    <input name="comment" ...>
    <input type="hidden" name="GeheimeVariable" value="BinIchSchlau0815">

    </form>


    und schon "weiß" er, daß er das Skript /geheimerPfad/gb.php mit den Parametern "comment", "GeheimeVariable" mit Inhalt "BinIchSchlau0815" mit der POST-Methode aufrufen muß.
    Und wenn er ganz schlau ist, dann besucht er jedes Mal die HTML-Seite und kann so den Inhalt von GeheimeVariable immer richtig setzen.
    Genauso müsste es bis vorgestern bei meinem Gästebuch gewesen sein.
    Den geheimen Code hatte ich als verstecktes Formularfeld beim Submit als Variable mitübergeben und so brauchten sie nur ein Submit
    Code:
    ...?geheimerCode=1234&eingegebenerCode=1234&GaestebuchEintrag= ....
    zu faken.

    Mittlerweile habe ich mein GB so umgeschrieben, dass der Zufallscode beim Aufrufen des Formulars nicht als Variable beim Submit übergeben, sondern in der MySQL-Datenbank mit der IP-Adresse und Zeitstempel abgespeichert wird und von der Seite, die das Submit empfängt dann nach IP-Adresse ausgelesen wird.

    So *muss* man das Formular vorher aufrufen um den Code zu generieren und der Code geht nicht über's Netz.
    Seit 1,5 Tagen bin ich damit Spam frei.
    Hoffentlich bleibts dabei.
    Geändert von Windwalker (08.03.2006 um 10:29 Uhr)

  2. #22
    Neues Mitglied
    Registriert seit
    06.03.2006
    Beiträge
    41

    Standard

    Zitat Zitat von heinerle
    Woher beziehst Du eigentlich Dein absolutes Wissen, das Du hier so wortreich wiederholst?
    Erwartest Du wirklich, daß man allein wegen Deiner Ausführungen, die kein einziges Mal auch nur etwas in die Tiefe gehen, als einzge Vorsichtsmaßnahme alle Variablennamen in Gästebuchskripten umbenannt werden?
    Ich hab es eben selbst ausprobiert (programmiert) und letztlich auch implementiert, was ich hier vorschlage.
    Das ist der entscheidende Unterschied zu Dir. Wenn Du ein Problem mit meinen Aussagen hast, dann schlage doch bitte selbst mal was Vernünftiges vor. Ich schätze das kannst Du nämlich nicht...

    Ich würde es nicht wagen, hier irgendwelchen Vermutungen zu äussern (wie Du das fortwärend tust).

    Ich kann auch den Code hier posten, bezweifle aber, daß Du das überhaupt verstehen würdest. In Deinen Aussagen befinden sich (im Gegensatz zu meinen) keinerlei fundierte Erkenntnisse, noch irgendwelche Lösungsansätze zum eigentlichen Problem. Du bezweifelst nur alles, ohne wahrscheinlich wirklich verstanden zu haben, was Du da bezweifelst.
    Geändert von Spastispam (08.03.2006 um 18:19 Uhr)

  3. #23
    Registrierte Benutzer Avatar von actro
    Registriert seit
    14.09.2005
    Ort
    Der Tunnel am Ende des Lichts
    Beiträge
    2.960

    Standard

    Zitat Zitat von Spastispam
    Ich kann auch den Code hier posten, bezweifle aber, daß Du das verstehen würdest.
    Na, das ist doch mal nen Angebot Gibt ja auch Leute hier, die das verstehen können

  4. #24
    Neues Mitglied
    Registriert seit
    06.03.2006
    Beiträge
    41

    Standard

    Zitat Zitat von exe
    Ich schätze, dass die Forms einmalig von einem Menschen katalogisiert werden.

    Gegen die vollautomatische Befüllung spricht meiner Meinung nach, dass ich in meinem Gästebuch (selbst programmiert, nix von der Stange) immer wieder Werbeeinträge hatte, die sich an die Regeln hielten. Man musste in einem Feld z. B. eine E-Mail-Adresse eingeben (wurde gegen einen reg. Ausdruck geprüft) und in dieses Feld wurden von dem Bots tatsächlich immer "E-Mail-Adressen" eingegeben. Ein Bot kann dies anhand der Input-Tags nicht erraten. Weiterhin wurden in meinem Gästebuch nur die Felder aufgefüllt, welche von mir erzwungen wurden. Weitere Felder wie z. B. Stadt, Land oder ICQ-Nummer wurden nie mit Daten befüllt. Weiterhin trägt das Skript einen ungewöhnlichen Namen. Ich habe auch beobachtet, dass auf einer anderen Seite, wo ich das identische Skript, mit identischen Feldnamen benutzt habe, der Spam immer in anderer Form abgeladen wurde. In einem Gästebuch wurden 15 Werbeeinträge angelegt, im anderen Gästebuch wurden alle 15 Einträge in einem Eintrag getätigt. Dies war regelmäßig so der Fall.

    Die Indizien sprechen also dafür, dass zumindest einige Gästebuchspammer scheinbar die Forms händisch analysieren bevor der Mist abgeladen wird.

    Du kannst recht haben. Ich vermute nämlich auch stark, daß einige Script-Kiddies das Ganze sozusagen als "Sport" oder "Übung" betreiben.

    Aber wenn es ganz dicke kommt, basteln die Spammer zur Zeit an "intelligenten" Bots. Das wäre dann wirklich eine tolle Herausfordeung für alle PHP Programmierer. Ich persönlich freue mich schon darauf...

  5. #25
    Neues Mitglied
    Registriert seit
    06.03.2006
    Beiträge
    41

    Standard

    Zitat Zitat von actro
    Na, das ist doch mal nen Angebot Gibt ja auch Leute hier, die das verstehen können
    Ja ich hoffe doch sehr. Sonst wäre ja alles sinnlos gewesen.

  6. #26
    Neues Mitglied
    Registriert seit
    06.03.2006
    Beiträge
    41

    Standard

    Zitat Zitat von Windwalker
    Genauso müsste es bis vorgestern bei meinem Gästebuch gewesen sein.
    Den geheimen Code hatte ich als verstecktes Formularfeld beim Submit als Variable mitübergeben und so brauchten sie nur ein Submit
    Code:
    ...?geheimerCode=1234&eingegebenerCode=1234&GaestebuchEintrag= ....
    zu faken.

    Mittlerweile habe ich mein GB so umgeschrieben, dass der Zufallscode beim Aufrufen des Formulars nicht als Variable beim Submit übergeben, sondern in der MySQL-Datenbank mit der IP-Adresse und Zeitstempel abgespeichert wird und von der Seite, die das Submit empfängt dann nach IP-Adresse ausgelesen wird.

    So *muss* man das Formular vorher aufrufen um den Code zu generieren und der Code geht nicht über's Netz.
    Seit 1,5 Tagen bin ich damit Spam frei.
    Hoffentlich bleibts dabei.
    Komisch nur, daß die dezeitigen Bots (viagra, casino, phentemine) das überhaupt garnicht beherschen. Die sind einfach nicht in der Lage da irgendwas zu "faken".

    Bist Du sicher, daß das ganze nicht Deiner Phantasie entspringt?
    Poste doch bitte mal die Log-Ausschnitte und die Einträge hier.

    Dann könntest Du mich eventuell überzeugen...

    Andere Frage: Bist Du Dir wirklich sicher, daß du es richtig gemacht hast mit einer zusätzliche Variable? Es gibt nämlich 1000 Arten es falsch zu machen.

  7. #27
    Neues Mitglied
    Registriert seit
    06.03.2006
    Beiträge
    41

    Standard

    Gut. Hier ist der Code des Open Source PHP Gästebuches, welches ich kürzlich für einen meiner Kunden erfolgreich modifiziert habe. Der Kunde hatte dies selbst installiert und jetzt konnte er sich nicht mehr retten vor lauter Spam...

    Die Modifikation nutzt ganz einfach das von mir hier vorgeschlagene Prizip der "zusätzlichen versteckten Variable".

    Bitte beachtet, daß Ihr einen "diff" Vergleich machen müsst, um ALLE der erforderlichen Änderungen auch ausfindig zu machen. Es gibt entsprechende Tools dafür. Es sind insgesamt 4 Stellen, wo die signifikanten Veränderungen ansetzen.



    Original (siehe Copyrights):
    [Link nur für registrierte Mitglieder sichtbar. ]

    Modifikation:
    [Link nur für registrierte Mitglieder sichtbar. ]

    Ich konnte das hier nich in einem Code-Block mit entsprechender Hervorhebung der modifizierten Teile posten, weil das zu lang ist. Leider.

    Und nochwas: Mir kam es darauf an die bisherige Funktionalität des GBs des Kunden unberührt zu lassen. Lediglich vom Spam zu befreien, was damit auch geglückt ist. Die Modifikation läuft seit 3 Wochen ohne jeglichen Spam. Wenn man in die Logs guckt, sieht man auch, daß sie es immernoch stupide versuchen...

    Ich werde natürlich hier nicht posten um welche Website es sich handelt. Zum Schutz meines Kunden natürlich.

    Und nochwas: Es hat WIE SCHON SO OFT HIER ERWÄHNT, keinen Zweck das Ganze ohne jegliche Änderung zu implementieren - da Ihr sonst nur die Vorlage für die Bots liefern würdet. IHR MÜSST DESHALB INDIVIDUELL ABÄNDERN. Das hier ist also nur als ein BEISPIEL und als EINE von vielen Möglichkeiten zu werten.

    Alles klar?
    Geändert von Spastispam (08.03.2006 um 19:12 Uhr)

  8. #28
    Mitglied Avatar von heinerle
    Registriert seit
    07.09.2005
    Beiträge
    776

    Standard

    Zitat Zitat von Spastispam
    ... Wenn Du ein Problem mit meinen Aussagen hast, dann schlage doch bitte selbst mal was Vernünftiges vor ...
    Ich habe nur ein Problem damit, daß Du Deine geheime Variable als die absolut einzige Abhilfe gegen Bots darstellst und will davor warnen, daß diese kein Hindernis für etwas intelligentere Bots ist.

    Wie gesagt, ich habe meine Erfahrungen hauptsächlich aus Kontakt-Formularen, die von Spambots auf Verwundbarkeit untersucht werden. Daher kann ich definitiv sagen daß die nächste Stufe der Bots durch Dein $bot=false nicht aufgehalten werden.

    Diese grasen die Webseiten nach Links ab und folgen allen hrefs (selbst die callto:-Links von Skype finden sich im Logfile), daher wird Dein
    Code:
    <a href="$PHP_SELF?action=add&bot=false...">
    auf der Eingangsseite kein großes Hindernis darstellen. Und das
    Code:
    <input name="bot" type="hidden" id="bot" value="false">
    läßt sich dann direkt aus dem Formular herauslesen, wie [Link nur für registrierte Mitglieder sichtbar. ].

    Ich will Deinen Vorschlag ja auch gar nicht schlechtreden (alles was hilft ist willkommen), aber das hätte man mit weniger Worten und dafür den konkreten Beispielen (Zeilen 70-73, 146, 195 und 424 des von Dir modifizierten Skriptes) einfacher haben können.

    So ist leider der ganze Thread etwas entgleist. Und eigentlich wollen wir hier ja alle das gleiche: Spam bekämpfen und uns nicht gegenseitig anpöbeln.

  9. #29
    Mitglied Avatar von heinerle
    Registriert seit
    07.09.2005
    Beiträge
    776

    Standard

    Zitat Zitat von Spastispam
    Ich kann auch den Code hier posten, bezweifle aber, daß Du das überhaupt verstehen würdest... In Deinen Aussagen befinden sich (im Gegensatz zu meinen) keinerlei fundierte Erkenntnisse, noch irgendwelche Lösungsansätze zum eigentlichen Problem. Du bezweifelst nur alles, ohne wahrscheinlich wirklich verstanden zu haben, was Du da bezweifelst.
    Als ich heute morgen mal wieder besonders wenig Ahnung hatte ist mir aufgefallen, daß man Dein Skript leicht zum Gästebuch-Spamming durch Menschen mißbrauchen kann (wiederholte Eintragungen via Browser ohne Umweg über das Formular). Du prüfst bei submit nicht, ob das Skript mit POST aufgerufen wurde und ermöglichst somit Aufrufe wie
    [Link nur für registrierte Mitglieder sichtbar. ]
    (die Domain und den Skriptnamen habe ich zum Schutz Deines Kunden unkenntlich gemacht)
    Das funktioniert nicht nur theoretisch, sondern auch praktisch, wovon Du Dich im Gästebuch überzeugen kannst.

    Abhilfe:
    (der besseren Übersicht halber nur Zeilennummer und Code, kein komplettes diff-Skript)

    Zeile 43 des von Dir modifizierten Skriptes ändern von

    Code:
    if ($action=="submit") // Add an action
    in
    Code:
    if (($action=="submit") && ($_SERVER['REQUEST_METHOD'] == 'POST')) // Add an action
    (wurde auch schon mal [Link nur für registrierte Mitglieder sichtbar. ] behandelt).

    Oder Du baust die POST-Abfrage ähnlich wie die $bot-Abfrage ab Zeile 70 ein:
    Code:
    // modified by heinerle 2006 - simple "GET block"
    if ($_SERVER['REQUEST_METHOD'] != 'POST') {
      header("Location: $PHP_SELF");
      exit;
    }
    Außerdem würde ich (obwohl ich nichts davon verstehe) den Namen des Skriptes ändern, hier liest auch "der Feind" mit.

    Tut mir leid, daß ich nicht eher konstruktiv werden konnte, aber ohne konkreten Code ist das nun mal schwierig.

  10. #30
    Pöhser Purche Avatar von homer
    Registriert seit
    18.07.2005
    Ort
    Deep Down Oberfranken
    Beiträge
    2.939

    Standard

    Zitat Zitat von heinerle
    Code:
    if (($action=="submit") && ($_SERVER['REQUEST_METHOD'] == 'POST')) // Add an action
    Nachdem auch ich zu den völlig Ahnungslosen zähle, hier mein Vorschlag:
    Code:
    if ($_POST['action'] == 'submit') { ... }
    Das kann man bequem auch im Safe Mode machen, da die automatische Variablenbelegung von PHP ja auch nicht so viel genutzt werden soll.

    Sarkasmus. Weil es illegal ist, dumme Leute zu schlagen.

Seite 3 von 9 ErsteErste 12345 ... LetzteLetzte

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Partnerlink:
REDDOXX Anti-Spam Lösungen