Bitte spammt mein Gästebuch zu ...

Der Bereich für Plaudereien in unserem Forum.
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Bitte spammt mein Gästebuch zu ...

Beitrag von Thoro » 05.09.2006, 19:50

Ich habe in den letzten Wochen ein flexibles Gästebuch-Skript in PHP für MySQL-Datenbanken geschrieben und bin nun von der programmiertechnischen Seite her so gut wie fertig. D.h. es schreit danach ausgiebig getestet zu werden. Wenn jemand gerade Lust hat, der kann mich gerne dabei unterstützen. Folgende Dinge sind zu untersuchen:
  • Ist die Benutzerführung intuitiv?
  • Funktionieren alle BBCodes so wie erwartet?
  • Werden Spambots und Spamposts geblockt?
  • Ist alles XHTML und CSS konform?
  • Ist eine gute Darstellung unter allen Browsern gewahrt?
  • Gibt es Sicherheitslücken?
Bitte fühlt euch nicht verpflichtet alle Punkte durchzugehen, sondern schaut einfach nach dem, was euch gerade Spaß macht bzw. was ihr überhaupt überprüfen könnt. So kann eigentlich jeder mitmachen. Bitte experimentiert möglichst viel herum und müllt das Gästebuch nach Herzenslust zu. Über sachdienliches Feedback würde ich mich sehr freuen ...
Sarkasmus ... wie originell.
Benutzeravatar
TheSearcher
Forscher
Beiträge: 753
Registriert: 10.10.2004, 13:21
Wohnort: Magdeburg
Alter: 39

Beitrag von TheSearcher » 05.09.2006, 20:50

Meine Tests ergaben: XSS- und SQL-Injection-Attacken scheinen nicht zu funktionieren ;) , was beileibe nicht für alle Gästebücher, die man so im Netz findet, zutrifft.

Allerdings Spambots dürften es eher einfach haben: ich habe eine absolut fiktive E-Mail-Adresse eingegeben (allerdings Name: TheSearcher, damit du weißt, dass ich es war) - hat funktioniert.
Der Zyklustyp einer Permutation ist konjugationsinvariant.
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Thoro » 05.09.2006, 21:58

TheSearcher hat geschrieben:XSS- und SQL-Injection-Attacken scheinen nicht zu funktionieren
Kurze Nachfrage: Steht XSS bei dir für Cross Site Scripting?
TheSearcher hat geschrieben:Allerdings Spambots dürften es eher einfach haben: ich habe eine absolut fiktive E-Mail-Adresse eingegeben (allerdings Name: TheSearcher, damit du weißt, dass ich es war) - hat funktioniert.
Die Angabe der e-Mail Adresse ist kein Teil der Antispam-Mechanismen. Die angegebene Adresse wird lediglich auf formale Korrektheit überprüft, hauptsächlich aber, um Fehleingaben des Benutzers teils erkennen zu können. Daher ist die Angabe auch standardmäßig optional. Sie soll dem Gästebuchbetreiber lediglich die Möglichkeit bieten sich bei interessierten Schreibern per e-Mail zurückmelden zu können.

Zwar könnte man auch die Adresse in Echtzeit überprüfen, aber einige Server blocken diese Anfrage aus eigenen Gründen der Spamabwehr. Außerdem ist es für einen Spammer kein großes Problem sich eine temporöre e-Mail Adresse zu besorgen. Von daher finde ich, dass die negativen die positiven Eigenschaften einer solchen Validierung übersteigen.
Sarkasmus ... wie originell.
Quin
Forscher
Beiträge: 451
Registriert: 06.02.2004, 14:29
KI-Nummer: 40304
Wohnort: München
Kontaktdaten:

Beitrag von Quin » 05.09.2006, 23:47

Das sieht ja jetzt schon richtig gut aus. :top:

Ich sehe, du arbeitest noch an dem
  • Tag, (hatte die zugehörigen
  • Tags vergessen, sorry)... :grins:
    Ich finde, die
    • Tags kannst du dir sowieso ersparen, benutzt doch eh keiner. ;)

      [HR], Spoiler:
      und ein paar nette Smilies :winken: sind da doch viel wichtiger ;)
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Thoro » 06.09.2006, 11:01

Quin hat geschrieben:Ich sehe, du arbeitest noch an dem
  • Tag, (hatte die zugehörigen
  • Tags vergessen, sorry)... Grinsen
    Ich finde, die
    • Tags kannst du dir sowieso ersparen, benutzt doch eh keiner.
Also ich benutze Listen schon ab und zu ganz gerne. Und sie sind unter den BBCodes sehr häufig anzutreffen. Von daher würde ich sie schon ganz gerne behalten. Aber wie ich das Problem löse ist mir noch immer schleierhaft.

Die Sache ist die, dass in XHTML innerhalb eines Listenbereiches nur Listeneinträge auftauchen dürfen (also auch kein Text!). So habe ich das auch gegenüber dem BBCode-Interpreter deklariert und daher werden auch andere BBCodes dort nicht interpretiert. Allerdings gilt das nicht für reinen Text. Ich habe jetzt die Dokumentation vorwärts und rückwärts gelesen, aber es gibt keine Möglichkeit ihm zu sagen, dass auch reiner Text ungültig ist. Und ich kann auch nicht selbst den Inhalt eines Listenbereichs validieren, da dann der Interpreter nicht mehr parsen würde. Hm, ich glaube ich versuche mal den Autor des Interpreters zu kontaktieren, ob er dafür eine Lösung weiß ...
Quin hat geschrieben:[.HR], Spoiler:
und ein paar nette Smilies sind da doch viel wichtiger
Über den HR-Tag werde ich nachdenken. Den HIDE-Tag halte ich für ein Gästebuch unnötig. Ich glaube nicht, dass man in einem Gästebuch oft über die Lösung von Rätseln, das Ende eines Buches oder Filmes spricht.
Sarkasmus ... wie originell.
Benutzeravatar
TheSearcher
Forscher
Beiträge: 753
Registriert: 10.10.2004, 13:21
Wohnort: Magdeburg
Alter: 39

Beitrag von TheSearcher » 06.09.2006, 14:55

Ja, XSS steht für Cross-Site-Scripting. Das Problem besteht vor allem dann, wenn der Programmierer vergisst, alle Sonderzeichen gemäß dem Standard (Name vergessen) zu codieren.
Der Zyklustyp einer Permutation ist konjugationsinvariant.
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Thoro » 06.09.2006, 15:18

TheSearcher hat geschrieben:Name vergessen
Jo, hab ich gerade gesehen. Da hat der dumme Template-Schreiber wieder gepennt. :P
Sarkasmus ... wie originell.
Anonymous

Beitrag von Anonymous » 07.09.2006, 03:29

Hätten wir 8) nicht so viel am Telefon gequatscht, hätte wir 8) binnen 10 min (max) Dein „Schutz“ erkannt! Ob dieser jedoch sehr sinnvoll ist sei mal dahingestellt.

A: Die Strategie, die du verfolgst, ist wahrlich nicht neu! Ob die von Dir gewählten „Worte“ da die Richtigen sind ?!?... 8)
B: Sind heut zutage Gästebücher überhaupt noch üblich? Siehe Antispam Forum
C: Beachte doch diesbezüglich den oberen Link ;-) – warum also das Rad neu erfinden
D: Eine Edit- bzw. Korrekturfunktion (wie in Foren vorhanden) währe für den Schreibenden SEHR sinnvoll, um Beiträge, wie von „PATRICK ADE“ usw. zu verhindern, die einen Fehler meinerseits ausnutzen können (und haben) und damit meine Emailadresse Kopieren, die dann via Google binnen kürzester Zeit veröffentlicht ist (Zugegeben, war mein Fehler, den Header mit zu Kopieren, aber da ich meinen Beitrag nicht Korrigieren kann, hat auch der Admin oder seine Moderatoren die moralische Pflicht SCHNELLSTMÖGLICH zu reagieren.

DAHER NOCHMAL DIE BITTE MEINE PERSÖNLICHEN DATEN (EMAIL) IN DEN ENTSPRECHENDEN BEITRÄGEN ZU ÄNDERN!!!


Dein Maggie Messer , der zumindest einen Spam mit "professioneller" Hilfe in Deinen Gästebuch platzieren konnte :P

PS: Ich denke, Du weisst, wer mit Wir gemeint ist... Andernfalls wende Dich einfach an den " Suchenden" :D
Benutzeravatar
TheSearcher
Forscher
Beiträge: 753
Registriert: 10.10.2004, 13:21
Wohnort: Magdeburg
Alter: 39

Beitrag von TheSearcher » 07.09.2006, 10:39

@Thoro

Wie du in dem Link, den Maggiemesser angegeben hat, sehen kannst, stellt es (war sogar für mich auf den ersten Blick überraschend, wenn auch auf den zweiten logisch) ein ernsthaftes Sicherheitsrisiko zugunsten von Bots dar, wenn du Feldnamen verwendest, die auf die Funktion des Feldes abzielen.

Also statt id="PosterName" bzw. id="PosterMail" bzw. id="PosterText" lieber beispielsweise den MD5-Hash dieser Strings als Feldname verwenden (würde zumindest ich so machen).

Anschließend (Pseudocode!) kann man dies jedoch wieder ganz komfortabel auslesen:

$user_name=$_POST[md5_hash("PosterName")];

Damit ohne großartig Komforteinbußen bei der Programmierung.

Ich denke das Prinzip ist klar.
Der Zyklustyp einer Permutation ist konjugationsinvariant.
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Thoro » 07.09.2006, 10:50

Maggiemesser hat geschrieben:Hätten wir nicht so viel am Telefon gequatscht, hätte wir binnen 10 min (max) Dein „Schutz“ erkannt!
Eigentlich war ich ja drauf und dran mitten in eurem "Experiment" die Lösung zu posten. Aber ich wollte euch nicht den Rätselspaß verderben. Ihr wirktet so forschungssüchtig. :P
Maggiemesser hat geschrieben:Die Strategie, die du verfolgst, ist wahrlich nicht neu! Ob die von Dir gewählten „Worte“ da die Richtigen sind
Ja, ich weiß, alles alter Kaffee. Aber ich habe die schmackhaftesten Sorten zusammengekippt und ihn wieder aufgewärmt. ;) Und was den Wortfilter angeht: Ja, da denke ich, dass es die richtigen Worte sind. Sie basieren auf einer gründlichen Sichtung von zugespammten Gästebüchern.
Maggiemesser hat geschrieben:Eine Edit- bzw. Korrekturfunktion (wie in Foren vorhanden) währe für den Schreibenden SEHR sinnvoll, ...
Ja, das wäre es. Das Problem ist, wie sich der (Gast-)Schreiber gegenüber dem Gästebuch als rechtmäßiger Schreiber eines Beitrages ausweisen soll. Die IP-Adresse wäre nur für einen sehr begrenzten Zeitraum eine Möglichkeit. Ich hatte auch schon über die Möglichkeit eines Schlüssels nachgedacht, mit der jemand seinen Beitrag jederzeit wieder korrigieren könnte. Aber wer schreibt sich den letztlich beim Absenden seines Posts ab?
Maggiemesser hat geschrieben:aber da ich meinen Beitrag nicht Korrigieren kann, hat auch der Admin oder seine Moderatoren die moralische Pflicht SCHNELLSTMÖGLICH zu reagieren.
Danke, dass du mich über meine Pflichten aufklärst. Natürlich habe ich den Beitrag nach deinem Hinweis sofort entfernt. Allerdings fühle ich mich nicht verpflichtet während der Befriedigung meines primitiven, menschlichen nächtlichen Bedürfnisses, genannt Schlaf, jede 15 Minuten aufzustehen, um zu kontrollieren, ob nicht irgendso'n Depp versehentlich seine e-Mail Adresse veröffentlicht hat. Zumal die Aussage eines Tests eigentlich zur Vorsicht im Umgang mit persönlichen Daten anhalten sollte, da wir ja gerade eben nach Sicherheitslücken suchen wollen.


Und noch ein allgemeines Statement: Wenn ihr mir helfen wollt zu überprüfen, ob das Gästebuch typischen Gästebuchspam abwehren kann, bringt es mir rein gar nichts, zu überprüfen, ob das Gästebuch auch e-Mail Spam oder zehnminütiger Suchen nach einem Spamwort standhält.
Sarkasmus ... wie originell.
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Thoro » 07.09.2006, 11:06

@TheSearcher,
ich verstehe worauf du hinauswillst, aber aus programmiertechnischen Gründen ist es für mein Gästebuchskript nicht ratsam, dass so abzuändern.
Sarkasmus ... wie originell.
Benutzeravatar
TheSearcher
Forscher
Beiträge: 753
Registriert: 10.10.2004, 13:21
Wohnort: Magdeburg
Alter: 39

Beitrag von TheSearcher » 07.09.2006, 15:26

OK, das Argument, dass E-Mail- und Gästebuch-Spam sich doch stark unterscheiden, ist gut.

Allerdings mit der Suche nach dem Spamword: das sehe ich persönlich ein wenig anders. Gerade wenn ich als Spammer vorhabe ein Gästebuch nicht nur einmal zu spammen, sondern vielfach, sondern sobald ich hinreichend "Kenntnisse" darüber habe (Badwords) diese ein wenig "verschleiern" kann, kann sich dieser Aufwand für Spammer durchaus lohnen.

Denn die Liste wird ja mit der Zeit immer vollständiger. Und dann ist diese Veränderung auch mit sehr geringen Programmierkenntnissen relativ automatisierbar in die zu spammenden Texte zu übernehmen. Du weißt ja: beileibe nicht alle Spams in Gästebüchern werden durch Spambots angefertigt, häufig wird auch bezahlte (Billiglohn-) Arbeit zum Spams einfügen benutzt.

Ich persönlich würde auf jeden Fall von daher über das Badwords-System noch ein schwer vorhersehbares (also nicht durch binäre Suche oder ähnlich simple Tricks herausfindbares) Verfahren drüberlegen, um auch gegen solche Tricks gewappnet zu sein. Zum Beispiel könnte man dies dadurch praktizieren, dass man erheblich mehr Wörtern bestimmte "Codezahlen" zuordnet. Je höher die Codezahl desto größer der Spamverdacht (wobei außerdem zumindest leichte "Falschschreibungen" auch noch zählen - für letztere Erkennung gibt es in PHP irgendwo eine Funktion).

Die Summe der auftretenden Codewörter wird ermittelt und wenn diese einen bestimmten Wert überschreitet, so wird es als potentieller Spam eingestuft.

Dieses Verfahen ist (bei sauberer Wort- und Codedatenbank) erheblich unempfindlicher gegenüber binärer Badwords-Suche und gleichzeitig reagiert es auch dann, wenn viele "gering verdächtige" Wörter sich häufen. Außerdem kann man auch noch Positivwörter (negativer Codewert) vergeben, die den Spamverdacht senken.

Nur so eine Idee, die mir durch den Kopf kam, wie ich spontan diese (wenn auch weniger gefährliche) Spamlücke nochmal stärker unter Kontrolle zu bekommen versuchen würde. Es gibt sicher noch bessere.
Der Zyklustyp einer Permutation ist konjugationsinvariant.
Benutzeravatar
Patrick L.
Forscher
Beiträge: 540
Registriert: 05.02.2004, 21:26
Geschlecht: männlich
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Patrick L. » 07.09.2006, 16:23

Gegen Spambots helfen im gewissen Maße Captchas, wobei allerdings auch ein wenig Benutzerfreundlichkeit auf der Strecke bleibt.

@TheSearcher Die Idee mit dem MD5-Hash zu einem Feldnamen ist auch nicht verkehrt, kann aber durch eine Wörterbuch-Attacke, welches die MD5-Hashes für die gebräulichsten Feldnamen (also z.B. zum Wort "Email" in einigen Variationen) enthält noch relativ schnell überwunden werden. Man könnte allerdings jedesmal zusätliche zufällige Zeichen (auch "Salt" genannt) an den Feldnamen anhängen und den gemeinsamen MD5-Hash berechnen. Zusammen mit dem Salt kann die verarbeitende Funktion dann relativ leicht die Feldname "entschlüsseln". Hiefür existiert in PHP die crypt-Funktion.

Ob sich der Aufwand lohnt ist allerdings eine andere Frage. :wink:
Benutzeravatar
Thoro
Forscher
Beiträge: 1494
Registriert: 23.09.2004, 14:43
Geschlecht: männlich
KI-Nummer: 529779
Wohnort: Duisburg
Alter: 42
Kontaktdaten:

Beitrag von Thoro » 07.09.2006, 20:04

TheSearcher hat geschrieben:Allerdings mit der Suche nach dem Spamword: das sehe ich persönlich ein wenig anders. Gerade wenn ich als Spammer vorhabe ein Gästebuch nicht nur einmal zu spammen, sondern vielfach, sondern sobald ich hinreichend "Kenntnisse" darüber habe (Badwords) diese ein wenig "verschleiern" kann, kann sich dieser Aufwand für Spammer durchaus lohnen.
Die Filterlisten sind nicht fest einprogrammiert. Sie sind daher jederzeit problemlos erweiterbar. Sollte also solch ein Spammer nach dem er 10 Minuten herumprobiert hat, was er in seinem Post ändern muss, damit er durchkommt, einen Spampost absetzen können, so kann der Gästebuchbetreiber einfach ein, zwei Worte aus diesem Post mit in die Filterlisten aufnehmen und am nächsten Abend steht der Spammer wieder vor dem gleichen Problem. Klar dauert, zwar wieder nur ein paar Minuten, um auch die Worte herauszufinden, aber das dürfte sich schnell nicht mehr rechnen, wenn er in der gleichen Zeit 100 andere Spamposts in weniger gut geschützten Gästebüchern absetzen könnte.

Die Idee mit den gewichteten Filterlisten wäre eine Überlegung wert. Allerdings ist das in der derzeitigen Implementation nicht mehr so leicht einzubauen. Würde ich mir daher eher für die nächste Version Gedanken drum machen. Auch ähnlich geschriebene Worte zu erkennen ist zur Zeit schon teils möglich. Als ich jedoch die Filterlisten erstellt habe, ist mir schnell klar geworden, dass dies bis auf wenige Ausnahmen meist nicht erforderlich ist. Der überwiegende Anteil von Gästebuchspam zielt auf die Bekanntmachung von Webseiten in Suchmaschinen und eine Zuordnung von "geeigneten" Suchbegriffen. Und wenn ein Spammer unter dem Suchbegriff "Versicherung" gefunden werden möchte, hilft es ihm nicht das geringste, wenn er in dem Spampost "Verzicherung" schreibt.
PatrickL hat geschrieben:Gegen Spambots helfen im gewissen Maße Captchas, wobei allerdings auch ein wenig Benutzerfreundlichkeit auf der Strecke bleibt.
Du sagst es: Nicht nur die Freundlichkeit, sondern auch die Nutzung an sich. Ein Benutzer mit eingeschränktem Augenlicht, wird durch sowas direkt von dem Angebot ausgegrenzt. Außerdem sind einige Captchas, wie bspw. das von phpBB2 auch kein Hindernis mehr für Spambots. Von daher halte ich da wenig von. Spambekämpfung ist gut, solange nicht der Benutzer selbst auf der Strecke bleibt.
Sarkasmus ... wie originell.
Anonymous

Beitrag von Anonymous » 08.09.2006, 21:48

Ich will ja kein Spielverderber sein, aber seit "Heute" (und sicher auch schon vorher ) wird hier , in deinem "Gästebuch" unter meinem Namen geposte (wie auch sicher bei anderen)
Bist' halt ein schlauberger, Stefan ...
und alle nachfollgende Beiträge sind mit Sicherheit nicht von mir

Da dies hier aber so nicht zu beweisen ist, stelle ich Dir - Thoro gerne jederzeit mein aktulle IP Nummern (von AR*OR) auf Anfrage zur Verfügung um dies zu belegen

Damit stellt sich mir wiederholt die Frage, warum ich mich nicht erst Anmelden Gästebuch anmelden soll...

@Thoro, hier nochmals mein kleiner Hinweis http://www.antispam.de/forum/showthread.php?t=10403

Warum Das Rad Neu erfinden

Maggie Messer

PS: dies ist mein letzter Beitrag in diesem "Gästebuch" alle nachfolgenden, die unter meinem Namen "Schreiben" bitte ich via IP zu erfassen um entsprechend reagieren zu können... Fragen an mich (hier im Gästebuch)werden NUR via PN im Realife Forum oder Antispam Forum beantwortet. Dies scheint auch in "Cathys" Sinne zu sein - meine damit die echte (Da fragt aber schon jemand anderes nach )
Antworten