Strict Standards: Declaration of bBlog::display() should be compatible with that of Smarty::display() in /home/jan/public_html/relovution/bblog/inc/bBlog.class.php on line 1034
bBlog Hacking #2 - relovution.de

» die relovution kommzt... sei auf der hütte!

February 28, 2006

bBlog Hacking #2

Comment Spam bei bBlog.. so häufig wie Flöhe auf Hunden anzutreffen. Aber was tut man dagegen?

Es gibt zwei Haupteinfallstore von Comment-Spam in bBlog: Zum einen (der überwiegende Großteil) über die Trackback-Funktion. Die ist zwar eigentlich sehr nützlich, es wäre daher auch schade sie komplett zu deaktivieren/löschen, wird aber leider oft zum spammen mißbraucht. Nicht länger, dank der (nicht)patentierten Trackback.php-umbenenn-spam-problem-lös-o-matic-3000 Methode! :)

Der Trick ist ganz simpel: Die Spambots versuchen den Trackbackmechanismus über das ihnen eingetrichterte URL-Schema http://dein-blog.de/bblog/trackback.php zu erreichen. Wird diese trackback.php jetzt umbenannt, läuft ihre Attacke ins leere, während 'echte' Menschen auf der Seite die richtige Trackback-Addresse überall einsehen können. Das ganze ist natürlich keine gute, dauerhafte Lösung, aber doch angenehm wirkungsvoll ;) (..und sie geht übrigens auf Hijacker zurück. Jedenfalls behauptet er das :P)

Zur Freude aller sind die Änderungen diesmal wirklich sehr einfach. Man muss im bblog/ Unterverzeichnis nur 3 Dateien heraussuchen und in Ihnen insgesamt 4 Stellen ändern: Überall wo "trackback.php" im Quelltext auftaucht, muss es umbenannt werden in z.B. "trackback-nobot.php" (Der Name ist egal, es muss nur .php am Ende stehen). Die zu ändernden Dateien sind bblog/bBlog_plugins/builtin.archives.php (1 mal), bblog/bBlog_plugins/builtin.post.php (1 mal) und bblog/inc/bBlog.class.php (2 mal).

Zu guter letzt muss natürlich noch die Datei trackback.php (im bblog/ Unterverzeichnis deiner bBlog-Installation zu dem obig gewählten Namen umbenannt werden - und Voila! Fertig ist das ganze.


Bleibt noch das andere Dingelchen, "normaler" Comment-Spam. Hier gibt es verschiedene Lösungsansätze; üblich sind heutzutage die sogenannten "Captchas". Ihr Prinzip: Jemand, der einen Kommentar machen will, muss ein paar Buchstaben in ein zusätzliches Feld eingeben, die für einen Computer sehr schwer erkennbar, für einen Menschen aber problemlos lesbar sind. Ich setze hier auf eine stark abgespeckte (sprich schwach schützende) Lösung: Statt des üblichen, stark verzerrten (und daher für Computer aufgrund ihren eklatanten Schwächen im Mustererkennungsbereich, in dem Menschen aber wiederrum glänzen, schwer erkennbaren) Bildes mit der "Lösung" reicht mir ein einfaches, kleines Wort. Prinzipiell ist das für Spammer keine große Hürde, aber es müsste sich eben tatsächlich der Spammer hinsetzen und seine Software extra für dein Blog anpassen. Was relativ selten geschehen wird.

Los gehts: Öffne in deinem Lieblingseditor die Datei bblog/inc/bBlog.class.php deiner bBlog-Installation und springe zu Zeile 883 (bei einer unberührten bBlog 0.7.6 Installation). Dort sollte stehen:
elseif($post->allowcomments == ('disallow') or
          ($post->allowcomments == 'timed' and $post->autodisabledate
          < time() ))
    {
        $this->standalone_message("Error adding comment",
          "Comments have been turned off for this post");
    }
Genau hintendran (und damit vor das folgende else {) musst du folgendes einfügen:
elseif($_POST['magic_key'] != "dein Zauberwort")
    {
        $this->standalone_message("Wollen Sie mich verarschen,
          Mr. Superspam?");
    }
Was noch geändert werden könnte, ist offensichtlich: Statt "dein Zauberwort" schreibst du... naja, dein gewünschtes Zauberwort halt, rein. Und der eher umgangssprachliche Teil kann natürlich ebenfalls durch eine 'schönere' Fehlermeldung ersetzt werden. Wenn man das denn möchte.

Damit beim schreiben eines Kommentars überhaupt das Zauberwort an bBlog durchgereicht werden kann, müssen wir auch noch die post.html deines benutzten Templates anpassen:
<input name="magic_key" type="text" id="magic_key" />
muss dahin, wo dann später die Box stehen soll, in der man das Zauberwort eingeben soll. Natürlich wäre es recht hilfreich, einen mehr oder minder kleinen Text dazuzuschreiben, in dem erklärt wird, welches Wort man da reinschreiben muss.. :)

Ja, das wars soweit erstmal mit meinen bBlog Modifikationen, Teil 2. Ich hoffe ich konnte euch ein bisschen im Kampf gegen den Spam helfen :)
(blog auf 19:05 Uhr)
Posted 6 years, 5 months ago on February 28, 2006
Trackback URL für diesen Post: http://relovution.de/bblog/trackback-nobot.php/52/

Re: bBlog Hacking #2
*räusper* Erstmal danke für die namentliche Nennung für die umbenenn/lösch Methode... ;)

Besides that: Good job!
Ich hab mich einmal drangesetzt und wollte die Datenmerk-Geschichte einbauen, nachdem ich dann aber vor den fast tausend Zeilen bBlog class saß, hat mich der Mut verlassen :P Posted 6 years, 5 months ago by Sascha J. • @wwwReply
Trackback URL des Kommentars: http://relovution.de/bblog/trackback-nobot.php/52/16519/
Re: bBlog Hacking #2
Nur Mut, nur weil sie groß ist wird sie dich nicht fressen. Achja, das vergessene wird korrigiert, sorry ;) Posted 6 years, 5 months ago by Zakharov • • wwwReply
Trackback URL des Kommentars: http://relovution.de/bblog/trackback-nobot.php/52/16520/
Re: bBlog Hacking #2
Ich habe ja nie gesagt dass sie VON mir kommt... ;)

Letztlich isses mir auch scheiss egal ob dus reinschreibst oder nicht, wollt ja nur mal rumstacheln :p


Ich weiß, dass sie mich nicht frisst... Aber ich sie, weil ich keine Lust hab so viel Code durchzuarbeiten ;) Posted 6 years, 5 months ago by Sascha J. • @wwwReply
Trackback URL des Kommentars: http://relovution.de/bblog/trackback-nobot.php/52/16521/
Re: bBlog Hacking #2
Tja, und damit du auch das nicht tun musst, hab ich ja extra hingeschrieben welche Zeilen davor stehen, inklusive (mehr oder weniger) genauen Zeilenangaben.

Also los! Tu es! Tuuu essssss!! Bwaaahahahahaa... Posted 6 years, 5 months ago by Zakharov • • wwwReply
Trackback URL des Kommentars: http://relovution.de/bblog/trackback-nobot.php/52/16523/
Re: bBlog Hacking #2
Hmm... zu faul :) Posted 6 years, 5 months ago by Sascha J. • @wwwReply
Trackback URL des Kommentars: http://relovution.de/bblog/trackback-nobot.php/52/16526/

Add Comment

(Um auf einen Kommentar einzugehen, klicke auf den 'reply' Link bei dem Kommentar)

 
Kommentar-Schlagzeile:
 
Dein Name:
Meine Daten merken?
 
Deine E-Mail Adresse:
Veröffentlichen?
 
Website/Homepage:
Veröffentlichen?
 
Kleine Fingerübung: Bitte gib "IANAB" in das Feld ein, damit ich weiß: "I am not a bot."
(ohne Anführungszeichen natürlich.)
 
Kommentar:

Erlaubte XHTML tags: a, b, i, strong, code, acrynom, blockquote, abbr. Zeilenumbrüche werden automatisch erkannt und umgewandelt.