phpBB Forum und diese Bots

BasCom

Commodore
Registriert
Feb. 2006
Beiträge
4.479
servus. ich betreibe seit geraumer zeit ein kleines forum im privaten bereich unter Kollegen. Nun habe ich massiv das provlem das sich da immer automatische benutzer anmelden. via mysql injection wie man mir erklärt hat. normalerrweise muss ich ja jeden benutzer freischalten. habe nun von cback den cracker tracker integriert, diverse ip bereiche geblockt, seither ging das auch zurück, nur nicht eben ganz. habe mein php auf 4.4.6 gebracht, keinen nutzen. kann mir mal jemand sagen wie man sich da besser gegen schützen kann?

mfg malte
 
wenn du admin-freischaltung aktiviert hast, und sich die typen trotzdem erfolgreich registrieren können (und danach auch posten) würde ich mir erstmal gedanken um die sicherheit machen...
 
ja tu ich das denn nicht? will mich ja schützen gegen mysql injection. fragt man sich doch aber wie?
 
Das 'Problem' hab ich in meinem Board auch - trotz Orion, wo der ctracker ja schon eingebaut ist. 100%ig dicht kriegst du das wahrscheinlich nicht.

Nur, dass diese "user" in meinem Fall inaktiv bleiben (vermutlich wegen des Captchas). Ich hab allerdings auch ne offene Registrierung per Mail - nicht per Admin. Wenn die statusmässig länger auf 'inaktiv' bleiben, schmeiss ich die einfach wieder raus - bis dahin ignorier ich sie. ;)

Der Tracker hat allerdings schon einiges an Spamversuchen abgehalten, die merkwürdigerweise die inaktiven User betrafen. So wirklich logisch erscheint mir das nicht.
 
Bin genauso betroffen.

Habe mir inzwischen damit geholfen Email-Adressen mit den Enden *.com *.net *.pl *.ru und so weiter zu sperren.

Seit dem keinerlei Botanmeldungen mehr :D
 
Also gerade bei .com und .net ist das ja schon ne eher drastische Massnahme. Es gibt ja doch einige User, die ne Mailadresse mit einer solchen Endung haben (mich selbst eingeschlossen).
 
Selbst ich habe einige *.net & *.com Email-Adressen.


Aber ich verzichte lieber auf ein paar User (es kamen bis jetzt noch keine Beschwerden) und habe dafür pro Tag eine halbe Stunde weniger Arbeit und muss mich nicht mehr ärgern!
 
Mich hat es wahnsinnig geärgert, dass sich bei mir immer mehr automatische Registrierungen durch Bots trotz aktivierter visueller Bestätigung anhäuften...
Als ich bemerkte, dass sich die ersten sogar per E-Mail erfolgreich aktivierten, wollte ich endlich etwas dagegen unternehmen und hab mir hier im Forum verschiedene Lösungsansätze angeschaut, die mich aber alle nicht vollends überzeugt haben: Entweder waren dann die Bestätigungs-Codes nur noch schwer zu erkennen/erraten, oder die nötigen Änderungen am PHP-Code erschienen mir einfach viel zu überdimensioniert und umständlich für dieses "kleine" Problem.

Also habe ich mir in meinen Server-Logs die Registrierungen der Bots näher angeschaut, wobei mir eines aufgefallen ist: Allesamt haben sie vorher keine andere Seite besucht, sondern sind zuallererst direkt auf die Seite /profile.php?mode=register&agreed=true gegangen, um dann das Bild mit dem Bestätigungs-Code nachzuladen.
/profile.php?mode=register&agreed=true wurde in allen Fällen allerdings immer nur via GET angefordert, was mich auf eine Idee brachte: Die einfachste Lösung ist es doch, ein "true" der Variable "agreed" nur noch via POST-Übergabe zu akzeptieren.
Dazu musste ich nur die folgende kleine Änderung in /includes/usercp_register.php durchführen:

###############################################
## Files To Edit: 3
## /includes/usercp_register.php
## /templates/subSilver/agreement.tpl
## /language/lang_german/lang_main.php

#
#-----[ OPEN ]--------------------------------------------
#
/includes/usercp_register.php

#
#-----[ FIND ]--------------------------------------------
#
if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GET_VARS['agreed']) )

#
#-----[ REPLACE WITH ]------------------------------------
#
if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) )

#
#-----[ OPEN ]--------------------------------------------
#
/templates/subSilver/agreement.tpl

#
#-----[ FIND ]--------------------------------------------
#
<td><span class="genmed"><br />{AGREEMENT}<br /><br /><br /><div align="center"><a href="{U_AGREE_OVER13}" class="genmed">{AGREE_OVER_13}</a><br /><br /><a href="{U_INDEX}" class="genmed">{DO_NOT_AGREE}</a></div><br /></span></td>

#
#-----[ REPLACE WITH ]------------------------------------
#
<td><span class="genmed"><br />{AGREEMENT}<br /><br /><br /><div align="center"><form method="post" action="{U_AGREE_OVER13}"><input type="hidden" name="agreed" value="true"><input type="submit" class="mainoption" style="width:700px; border:2px solid" value="{AGREE_OVER_13}"></form><br /><form method="post" action="{U_INDEX}"><input type="submit" class="mainoption" style="width:700px; border:2px solid" value="{DO_NOT_AGREE}"></form></div><br /></span></td>

#
#-----[ OPEN ]--------------------------------------------
#
/language/lang_german/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
$lang['Agree_over_13'] = 'Ich bin mit den Konditionen dieses Forums einverstanden und <b>über</b> oder <b>exakt</b> 12 Jahre alt.';

#
#-----[ REPLACE WITH ]------------------------------------
#
$lang['Agree_over_13'] = 'Ich bin mit den Konditionen dieses Forums einverstanden und MINDESTENS 12 Jahre alt.';

#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#
 
Hey, THX, das werd ich sofort mal ausprobieren ;)

edit: Hab ich mir jetzt zu einfach vorgestellt - passt vorne und hinten nicht auf mein Template, ist komplett anders formatiert. Leider hab ich viel zu wenig Ahnung von PHP, um das mal eben schnell entsprechend anzupassen. Da werd ich mich wohl ne Weile reindenken müssen.

Hab gerade nochmal ein Bisschen bei CBack.de rumgeschaut: Die SQL Injection Erkennung für GET, POST, ... Variablen sollte eigentlich vom CrackerTracker G5 abgefangen werden. Scheint bloss noch nicht so vollends zu klappen (http://www.community.cback.de/viewtopic.php?t=7208).
 
Zuletzt bearbeitet:
freut mich das jmd ne plan davon hat das muss mal getestet werden. denn das mit den mails ist natürlich keine optimale lösung. :/
 
Zurück
Oben