Ergebnis 1 bis 7 von 7

Thema: es ist zum mäuse melken

  1. #1
    Sugus
    Gast

    Böse es ist zum mäuse melken

    diese @#*!<.£*+@ spammer kosten mich noch den letzten nerv...

    sorry, erst mal hi

    ich betreibe seit 2 jahren eine relativ kleine seite, welche seit 3 monaten regelrecht mit spam bombadiert wird (vorallem das gästebuch).

    ip-sperren, wort-blacklists etc haben nichts gebracht, im gegenteil, die haben sich offenbar regelrecht auf meine seite eingeschossen

    mittlerweile rotiert sogar mein hoster, weil zum teil bis zu 20 spams/sekunde eintrudeln und der gesharte server teilweise in die knie geht (auch andere kunden werden opfer des spamwahnsinns).

    gestern abend hatte ich eine idee, hab sie sofort umgesetzt (die ganze seite ist php-handgestrickt, also nichts von der stange) und war dann erstaunt, als eine halbe stunde später die ersten spamversuche losgingen...

    5 | 27052006 | 00:09:07 | start.php | 59.25.20.208 | Country=unknown | menu=1 | amp;file=gbook.php | amp;sid= | amp;action=addnew | amp;id=-1 | name=Rulez666 | email=40430@40430.br | homepage=http://stratosphere.mig**here.com/stratosphere-las-vegas-roller-
    coaster.htm | secure=4d9ab52d7ca4ebae9ce29032ad867789

    wichtig ist das secure... das ist neu und der erste gästebuchaufruf nach der modifikation hatte eine solche id schon drin (eine falsche, aber was solls)...

    wie kann das sein ?

    mittlerweile (also seit mitternacht bis jetzt) sind knapp 300 spamversuche unternommen worden, teilweise nach dem alten muster (ohne secure=hash) und teilweise mit dem neuen muster... und zwar immer ohne das sie das gb-formular zu gesicht bekommen haben.

    ich habe jetzt die letzten 4 stunden damit verbracht, die logfiles zu durchsuchen, weil es ev. schon andere bots das mit dem secure versucht haben, aber im zeitraum anfang april-gestern konnte ich das nicht feststellen.

    wie werde ich die nervensägen endlich los ?

    verzweifelte grüsse
    rené

  2. #2
    BOFH Avatar von exe
    Registriert seit
    17.07.2005
    Ort
    Serverraum
    Beiträge
    5.936

    Standard

    Hallo und willkommen im Forum. Zuerst mal den Standardhinweis auf meine [Link nur für registrierte Mitglieder sichtbar. ]. Aber wie ich sehe bist du ja schon ein paar Schritte weiter. Wenn der Druck auf ein Skript zu extrem wird würde ich folgendes tun:

    Das Skript umbenennen
    Gib dem Kind einen anderen Namen, zwar wird sich Spammy vielleicht auch das neue Skript einschießen, aber das kann dauern.

    Das alte Skript ersetzen
    Nimm das alte Skript und ersetz es mit einem, dass z. B. 100 Sekunden nichts macht (sleep). Wenn du etwas Glück hast bremst das Spammys Bot ordentlich. Stell aber sicher, dass vor dem sleep keine Ausgabe erfolgt, denn der Bot wartet sicher auf den HTTP 200er Header und den bekommt er "leider" erst nach 100 Sekunden.

    HTH
    Dieser Beitrag kann Spuren von Ironie und billiger Polemik enthalten. Die Schöpfungshöhe ist technisch bedingt.

    Wir müssen die Religion des anderen respektieren, aber nur in dem Sinn und dem Umfang, wie wir auch seine Theorie respektieren, wonach seine Frau hübsch und seine Kinder klug sind.
    Richard Dawkins

  3. #3
    Sugus
    Gast

    Standard

    hi exe

    ich habe Deine tippsammlung gestern schon gelesen die hatte mich ja erst auf die idee gebracht...

    Das Skript umbenennen
    Gib dem Kind einen anderen Namen, zwar wird sich Spammy vielleicht auch das neue Skript einschießen, aber das kann dauern.
    in den 3 monaten hatte ich das skript zum teil alle paar tage umbenannt (z.b. jkssfewirujvmrlf.php), hat auch nicht gebracht... es war höchstens ein paar stunden ruhe... selbst das inaktivsetzen aller seiten, bei denen man etwas hätte schreiben können, hatte keinen erfolg... ein paar stunden nach wieder aktiv setzen waren die geier wieder da...

    Das alte Skript ersetzen
    Nimm das alte Skript und ersetz es mit einem, dass z. B. 100 Sekunden nichts macht (sleep). Wenn du etwas Glück hast bremst das Spammys Bot ordentlich. Stell aber sicher, dass vor dem sleep keine Ausgabe erfolgt, denn der Bot wartet sicher auf den HTTP 200er Header und den bekommt er "leider" erst nach 100 Sekunden.
    die ip-bremse (also 1 beitrag/tag/ip) besteht auf dem gästebuch immer noch.... bringt aber auch nichts, wenn ganze ip-bereiche ala xy.xy.xy.[0-255] verbraten werden... zum teil finden die spamattacken auch gleichzeitig und von völlig unterschiedlichen bereichen statt (usa, ukraine, vanutu *heisst das glaub*)... da bringt ein delay/sleep auch eher wenig

    manchmal wünschte ich mir, ein antispam-bot-netz zu stricken... sobald ein spammer irgendwo aufschlägt, wird die entsprechende ip verteilt und dann ein ddos gestartet. ist zwar illegal und zumindest mein provider würde mir die hände abhacken, aber offenbar kann man die typen nur mit den eigenen mitteln schlagen...

    werde jetzt mal den pc abschalten... sonst erwürg ich wegen der müdigkeit noch den

    rgds
    rené

  4. #4
    Verbalakrobat Avatar von Goofy
    Registriert seit
    17.07.2005
    Ort
    Überall und nirgends
    Beiträge
    24.822

    Standard

    @Sugus

    Könntest Du mal eine oder mehrere der im Spam beworbenen Domains posten?
    (Oder evtl. PN an mich)
    Goofy
    ______________________________
    Weisheiten des Trullius L. Guficus, 80 v.Chr.:
    "Luscinia, te pedem supplodere audio" - Nachtigall, ick hör dir trapsen
    "Vita praediolum eculeorum non est" - Das Leben ist kein Ponyhof
    "Avia mea in stabulo gallinario rotam automotam vehit" - Meine Oma fährt im Hühnerstall Motorrad
    "Sed illi, dicito: me in ano lambere potest" - Jenem aber, sag es ihm: er kann mich am Arsch lecken

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

    Standard

    Gegen wechselnde IPs etc. habe ich ganz gute Erfahrungen mit mehrstufigen Schutzmaßnahmen gemacht:

    1. das Skript unerratbar umbenennen, z.B. gnrpfl.php
    2. im <form eine Variable (z.B. geheimeVariable) als hidden definieren, die irgend einen Wert enthält, der sich aus der IP des Angreifers errechnet (z.B. plump in Buchstaben umrechnen oder so), DeinAlgorythmus()
    3. im <form action= einen Skriptnamen einsetzen, der sich nach einem beliebigen Algorythmus aus geheimeVariable errechnet, z.B. md5 oder base64_encode
    Code:
    <?
    $geheimeVariable=DeinAlgorythmus($_SERVER['REMOTE_ADDR']);
    print "<form action='/guestbook/".md5($geheimeVariable).".php' method='POST'>";
    print "<input type='hidden' name='geheimeVariable' value='".$geheimeVariable."'>";
    4. in der .htaccess eine RewriteRule für das Skript definieren, die zu Deiner Berechnung aus 3. paßt
    Code:
    RewriteEngine On
    RewriteBase /
    # Hier fuer md5()
    RewriteRule ^guestbook\/([0-9a-f]{32}).php$ /guestbook/gnrpfl.php [L]
    5. im gnrpfl.php dann
    Code:
    function ErrExit() {
      sleep(100);
      header('403 forbidden');
      die('403 forbidden');
    }
    if(basename($_SERVER['REQUEST_URI'], ".php") != md5($_POST['geheimeVariable'])) ErrExit();
    if(DeinAlgorythmus($_SERVER['REMOTE_ADDR']) != $_POST['geheimeVariable']) ErrExit();
    Den Namen der POST-Variablen geheimeVariable kannst Du natürlich auch noch variabel gestalten

  6. #6
    Sugus
    Gast

    Standard

    hi heinerle

    1. das Skript unerratbar umbenennen, z.B. gnrpfl.php
    2. im <form eine Variable (z.B. geheimeVariable) als hidden definieren, die irgend einen Wert enthält, der sich aus der IP des Angreifers errechnet (z.B. plump in Buchstaben umrechnen oder so), DeinAlgorythmus()
    3. im <form action= einen Skriptnamen einsetzen, der sich nach einem beliebigen Algorythmus aus geheimeVariable errechnet, z.B. md5 oder base64_encode
    2.) habe ich auch schon versucht...
    secure=4d9ab52d7ca4ebae9ce29032ad867789...
    ist ein ding aus ip, randomstringgenerator...
    es verging eine halbe stunde, da haben die sich schon drauf eingeschossen (und zwar nur EIN aufruf, also ohne das gbook-formular sehen zu können)
    5 | 27052006 | 00:09:07 | start.php | 59.25.20.208 | Country=unknown | menu=1 | amp;file=gbook.php | amp;sid= | amp;action=addnew | amp;id=-1 | name=Rulez666 | email=40430@40430.br | homepage=http://stratosphere.mig**here.com/stratosphere-las-vegas-roller-
    coaster.htm | secure=4d9ab52d7ca4ebae9ce29032ad867789
    die anpassung ihrerseit ging sehr fix und was mich erschreckt, wie wussten die von der secure-variable (jaja, ich benenn das ding noch um, war halt ganz schnell gestrickt der code) ?!

    ich raff das nicht und steh im wald, ohne die bäume zu sehen

    mittlerweile haben es heute "nur" 20 spammer ins gästebuch geschafft , bots hat das skript bisher erfolgreich abgewimmelt

    rgds
    rené

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

    Standard

    Zitat Zitat von Sugus
    ...
    die anpassung ihrerseit ging sehr fix
    Na wenn das Menschen und keine Bots sind dann geht das natürlich flott ...

    Zitat Zitat von Sugus
    und was mich erschreckt, wie wussten die von der secure-variable (jaja, ich benenn das ding noch um, war halt ganz schnell gestrickt der code) ?! ...
    Vielleicht nimmst Du als Namen der secure-Variablen auch etwas algorythmisch erzeugtes, z.B.
    Code:
    $secureName=date("DWY"); // ergibt heute Sat212006
    print "<form ...>";
    print "<input type='hidden' name='".$secureName."' value=...>";
    das prüfst Du im empfangenden Skript mit
    Code:
    $secureName=date("DWY");
    if(isset($_POST[$secureName]])
    auf Existenz und danach wie schon beschrieben auf den richtigen Inhalt.
    Besser ist natürlich gleich
    Code:
    $secureName=md5(date("DWY"));
    und noch ein paar MD5s für andere Variablen, dann blickt keiner mehr, was welche Variable bedeutet und wie sie erzeugt wird
    Zitat Zitat von Sugus
    mittlerweile haben es heute "nur" 20 spammer ins gästebuch geschafft , bots hat das skript bisher erfolgreich abgewimmelt

    rgds
    rené
    Lies auch mal das unter [Link nur für registrierte Mitglieder sichtbar. ] Verlinkte/Erwähnte durch, da gibt es noch mehr Anregungen mit Timestamp etc.

Lesezeichen

Lesezeichen

Berechtigungen

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