Forum

> > Off Topic > Formular auch ohne SQL sicher?
Forums overviewOff Topic overviewLog in to reply

German Formular auch ohne SQL sicher?

7 replies
To the start Previous 1 Next To the start

old Formular auch ohne SQL sicher?

Guest

Quote
Hi,
ich bin grade dabei einen Login-Bereich für eine Website zuerstellen.

Da ich mich leider noch nicht mit SQL auskenne, habe ich versucht mit hilfe von .htaccess und form ein formular zu erstellen.

Meine Frage: Wie sicher ist der folgende Code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
if (isset($username)) {
if ($klartext1 == $klartext2) {
	$schluessel = crypt ($klartext1);
    echo "Willkommen ".$username."! ";
    echo "Ihr Passwort lautet: ".$klartext1." ";
    echo  "Die Anmeldung war erfolgreich.";
	$fp = fopen("../.htpasswd","a") or die("Konnte Datei nicht öffnen.<p>"); 
	$text = $username.":".$schluessel."\n";
	fputs($fp,$text);
	fclose($fp); 
    }

else { 
    echo "Die Passwörter stimmen leider nicht überein! Bitte geben Sie Ihre Daten erneut ein.";
    echo "User hinzufügen!";
    echo "<FORM ACTION='./newuser.php' METHOD=post>";
    echo "<p>Login Name: ";
    echo "<INPUT type=text name=username maxlength=12></p>";
    echo "<p>Passwort: ";
    echo "<INPUT type=text name=klartext1 maxlength=12></p>";
    echo "<p>Passwort wiederholen: ";
    echo "<INPUT type=text name=klartext2 maxlength=12></p>";
    echo "<INPUT type=submit value=Eintragen>";
    echo "</FORM>";
    }}
else { ?>
User hinzufügen!
<FORM ACTION="./newuser.php" METHOD=post>
<p>Login Name: 
<INPUT type=text name=username maxlength=12></p>
<p>Passwort: 
<INPUT type=text name=klartext1 maxlength=12></p>
<p>Passwort wiederholen: 
<INPUT type=text name=klartext2 maxlength=12></p>
<INPUT type=submit value=Eintragen>
</FORM>
<?php } ?>

Danke im Vorraus.

old Re: Formular auch ohne SQL sicher?

Nova
User Off Offline

Quote
Du brauchst die Daten doch nur in eine ".txt" Datei zu schreiben. Ob jemand den Usernamen weiß falls er die Datei öffnet ist ja egal. Und wenn du das Passwort mit md5 verschlüsselst wird jemand mit dem Passwort auch nichts anfangen können..
Wenn du das Passwort danach per Formular an das Script überträgst verschlüsselst du es da auch. Danach vergleichst du das übergebene Passwort mit dem gespeicherten. Fertig.

Hier wird das nochmal erklärt: Registrierung und Login.

Ps: Solange du die Passwörter immer schön mit md5 verschlüsselst und erst dann speicherst ist das sicher. md5-Passwörter können nämlich nicht wieder zurück verschlüsselt werden.

old Re: Formular auch ohne SQL sicher?

Weber
COMMUNITY BANNED Off Offline

Quote
möööp, nimm KEINE text datei!!

Man kann ja sehr wohl was mit nem MD5 Hash anfangen, ich würd denn einfach mit cain und able bruten.

old Re: Formular auch ohne SQL sicher?

k.o.g.
User Off Offline

Quote
Du musst ein Passwort auch nicht 1mal mit MD5 verschlüsseln, mehrmal, etwa 3 oder 4.
Weil ein Bruteforce vergleicht nur vorherige verschlüsselte Passwörter aus einer Liste. Die werden meist nur 1 Mal Verschlüsselt mit MD5.
Und wenn du das Passwort in MD5 verschlüsselst, und dann das verschlüsselte passwort nochmal verschlüsselst und immer so weiter, Wird es eher unwahrscheinlich das es jemand knacken kann

old Re: Formular auch ohne SQL sicher?

Nova
User Off Offline

Quote
Laut Wikipedia ist md5 mit viel Rechenaufwand knackbar.
Da ich aber davon ausgehe das die Passwörter welche gespeichert werden sollen nicht alzu sensibel sind habe ich diese einfach Methode gewählt.

Wenn die Passwörter aber sehr wichtig sind kannst du auch folgendes machen:
Zuerst verschlüsselst du das Passwort mit md5, danach verschlüsselst du das bereits verschlüsselte Passwort nochmal mit md5. Da das einmal verschlüsselte Passwort meistens länger als das Urpasswort ist wird das doppeltverschlüsselte gleich viel sicherer.
Wenn du es allerdings wirklich sicher haben willst kannst du auch sha1() benutzen. sha1 ist auch ein Verschlüsselungsverfahren, hat aber 8 Zeichen mehr und ist somit gleich sicherer.

[blödsinn] Und wenn du absolut sichergehen willst kannst du das Urpasswort ja erst mit md5 verschlüsseln, dann mit sha1, dann wieder mit md5 und am Ende nochmal mit sha1. [/blödsinn]
Das solltest du aber nur machen wenn es um wichtige Daten geht. Passwörter bei einem Onlineshop zum Beispiel.


k.o.g. has written
Du musst ein Passwort auch nicht 1mal mit MD5 verschlüsseln, mehrmal, etwa 3 oder 4.
Weil ein Bruteforce vergleicht nur vorherige verschlüsselte Passwörter aus einer Liste. Die werden meist nur 1 Mal Verschlüsselt mit MD5.
Und wenn du das Passwort in MD5 verschlüsselst, und dann das verschlüsselte passwort nochmal verschlüsselst und immer so weiter, Wird es eher unwahrscheinlich das es jemand knacken kann

Korrekt, auch wenn ich der Meinung bin das zweimal verschlüsseln für den Durchschnittsprogrammierer reicht.

old Re: Formular auch ohne SQL sicher?

verboten
COMMUNITY BANNED Off Offline

Quote
wenn er allerdings einen auth-mechanismus mit der .htpasswd realisieren will, bringt ihm md5 und sha1 laut manpage herzlich wenig.

register_globals solltest du dringlichst ausschalten.

Quote
Weil ein Bruteforce vergleicht nur vorherige verschlüsselte Passwörter aus einer Liste.

du meinst vermutlich rainbow tables. bruteforce bedeutet erstmal nur, dass jedes erdenkliche passwort ausprobiert wird, und das hat in erster linie erstmal nichts mit listen zu tun.

old Re: Formular auch ohne SQL sicher?

k.o.g.
User Off Offline

Quote
Das Programm was ich mal austestete (Was sich selber als Bruteforce beschrieb) musste man noch eine Liste laden mit verschiedenen Wörtern drinnen.
Nunja kann ja auch egal sein, tipp ist: Einfach das Passwort mehrmals verschlüsseln.

old Re: Formular auch ohne SQL sicher?

jeepohahyo
User Off Offline

Quote
MD5 mit >Salt gilt aber auch heute noch als relativ sicher.
Das schaltet eben genau die Rainbow Tables aus.

Es geht ja auch nicht darum, einzudringen, sondern die Passwörter der User zu entschlüsseln und auf andere Seiten anzuwenden, wenn man irgendwie an die Passwortdatei rangekommen ist.
To the start Previous 1 Next To the start
Log in to replyOff Topic overviewForums overview