anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 18 Apr, 2024 06:43

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di 19 Jul, 2005 00:40 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Das Passwort wird bei LotgD unverschlüsselt über das Netz übertragen und in der Login form gespeichert. Ich hab mitbekommen, dass einige User damit Schindluder getrieben haben und sich über geknackte Mailaccounts etc beschwert haben. Also wird mit dem folgenden kleinen Addon das Passwort direkt auf dem PC des Users in MD5 gehashed und ist somit nicht mehr für anderes verwendbar. Natürlich kann es immernoch abgefangen werden und für eine Replay Attacke ausgenutzt werden, wenn sich ein Angreifer damit auskennen sollte . Netter Nebeneffekt, das Passwort wird nicht mehr im Login Form gespeichert. Da viele User von mir aus der Schule spielen ist das sehr nützlich.

Los geht's

1. Datei md5.js in das Templates Verzeichnis speichern

2. common.php öffnen
suche
$this->bbcode_second_pass_code('', '
$script.="<script language=\"JavaScript\" type=\"text/javascript\">
')

ersetze mit
$this->bbcode_second_pass_code('', '$script.='<script language="JavaScript" type="text/javascript" src="templates/md5.js"></script>';
$script.="<script language=\"JavaScript\" type=\"text/javascript\">')

3.index.php öffnen
suche
$this->bbcode_second_pass_code('', 'output("<form action='login.php' method='POST'>"')

ersetze mit
$this->bbcode_second_pass_code('', '$encoded_password_transfer_script = 'onSubmit="document.forms.loginform.hidden_pw.value = calcMD5(document.forms.loginform.password.value);document.forms.loginform.password.value=\'\';"';
output("<form action='login.php' name='loginform' method='POST' $encoded_password_transfer_script><input type='hidden' name='hidden_pw' />"')

3. Login.php öffnen
suche
$this->bbcode_second_pass_code('', '
$sql = "SELECT * FROM accounts WHERE login = '$HTTP_POST_VARS[name]' AND password=MD5('$HTTP_POST_VARS[password]') AND locked=0";
')

ersetze mit
$this->bbcode_second_pass_code('', '$sql = "SELECT * FROM accounts WHERE login = '$HTTP_POST_VARS[name]' AND password='$HTTP_POST_VARS[hidden_pw]' AND locked=0";')

Das sollte es gewesen sein. Ich hoffe das passt in die Standarddistribution noch rein, ich weiß mittlerweile nicht mehr genau wo wir schon was geändert haben und wo nicht.


Dateianhänge:
Dateikommentar: MD5 Javascript Bibliothek entpacken
md5.zip [2 KIB]
584-mal heruntergeladen

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 19 Jul, 2005 00:53 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Öhm nur so am rande, in der ext 3 werden die passwörter bereits verschlüsselt...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 19 Jul, 2005 01:06 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Ja, das stimmt, die Passwörter werden in das Login formular eingetragen, und im Klartext an den Server gesendet, wo sie dann "verschlüsselt" werden. Mit dem Hack oben werden die Passwörter bereits lokal verschlüsselt!
Das Ziel ist, dass man das Klartextpasswort nicht mehr sehen kann, wenn man den Traffic mitschneidet, um evtl zu testen, ob Webmailer/Ebay/Amazon des Users mit dem gleichen Passwort funktionieren...ich will gar nicht wissen wie oft das funktioniert.
Funktional ändert sich also nix an der ext3, ich fands nur sinnvoll, weil ich so ein paar echt dreisten Kerlen die Tour vermiesen kann

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di 19 Jul, 2005 21:25 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Öh... ich kann nur davon abraten, das einzubauen, denn es macht das System deutlich unsicherer.
Nach Deinem Addon werden die Paßwörter nämlich clientseitig verschlüsselt und nicht mehr serverseitig - somit kannst Du sie gleich unverschlüsselt lassen, da der eigentliche Sinn einer Verschlüsselung vollkommen zunichte gemacht wird.
Dazu reicht es auch weiterhin, einfach die eingegebenen Paßwörter mitzuloggen - man übergibt sie einfach in einem selbst erstellten Formular und nicht über das von LoGD.

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 22 Jul, 2005 09:50 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Kannst Du bitte versuchen das nochmal zu erklären wo der Nachteil in der Methode besteht gegenüber der bisherigen Anpera-Methode? Mag sein, dass ich da in meiner Betrachtung was übersehen habe. Meiner Meinung nach ändert sich an der Sicherheit des Spiels nichts, nur eben dass das Klartextpasswort nicht mehr zu sehen ist, wenn man den Traffic mitlogged.

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 22 Jul, 2005 10:49 
Offline
Großmeister
Großmeister

Registriert: Mi 15 Dez, 2004 00:41
Beiträge: 467
Wohnort: München
Ganz einfach: In der aktuellen Anpera-Version ist das Paßwort in der DB verschlüsselt, wird aber im Klartext übertragen - mit dem Sinn, daß jemand, der Zugriff auf die DB bekommt, keine brauchbaren Paßwörter hat, sondern nur unnütze MD5-Keys.
Wird das Paßwort aber schon Clientseitig bei der Eingabe verschlüsselt, hat das zur Folge, daß das Paßwort so übertragen wird, wie es in der DB steht. Sprich: Ein möglicher Angreifer kann wie gehabt das Paßwort bei der Übertragung von Client zu Server abfangen und sich damit einloggen (indem er sich eine eigene Maske bastelt, wo es direkt gesendet wird), aber zusätzlich kann jemand, der - aus welchen Gründen auch immer - Lesezugriff auf die DB bekommt, sich auch mit jedem beliebigen Account einloggen.
Sprich, der einzige Unterschied zu vorher ist, daß ein Angreifer nicht weiß, was der User eingegeben hat, sondern "nur", was er zur DB senden muß, damit er reinkommt, und daß die Datenbank weitaus unsicherer wird.

Einzig sinnvolle Methode wäre wie in der 1er-Version von LoGD, das Paßwort doppelt zu verschlüsseln - einmal clientseitig und einmal serverseitig. Damit wäre dem Anspruch einer sicheren Datenbank immer noch gedient und ein Angreifer würde nicht die Eingabe des Users sehen. Einloggen könnte er sich mit einem abgefangenen, nur einmal verschlüsselten Paßwort allerdings trotzdem noch.

_________________
A bus station is where busses stop. A train station is where trains stop. On my desk there is a workstation...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 22 Jul, 2005 16:49 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 20 Sep, 2004 23:43
Beiträge: 164
Wohnort: Berlin
LoGD: http://www.atrahor.de/source.php
Hm, okay, das sehe ich ein, den Punkt "direkter Datenbankzugriff" hab ich nicht bedacht. In dem Fall ist das was ich oben geschrieben habe wirklich vollkommen unsicher und sollte so nicht verwendet werden. Ich denke ich habe dafür aber eine Lösung, ohne doppelte MD5 Prüfsumme auf Serverbasis
Ich versuchs mal und danke für den Hinweis!

_________________
Atrahor.de
http://www.atrahor.de/ci_images.php?id=1


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum