Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: i znowu bezpieczenstwo
Forum PHP.pl > Forum > PHP
kliszaq
dobra pytanko:
w ktorym momencie mozna przechwycic haslo wyslane z formularza?
jezeli w pliku mam forma, to przeciez nie da rady wyslac z pola password zahashowanego hasla w md5. Qrcze to w takim razie nie jest bezpieczne wysylanie w ogole danych z forma bo jak mam cos takiego:
[xml:1:7b579e6eb0]
<html>
<head>
<title>Zapisywanie nowego uzytkownika</title>
</head>
<body>
<form method=post action=register.php>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td width=24% align=left valign=top>Imie</td>
<td width=76%><input name=first_name type=text id=first_name></td>
</tr>
<tr>
<td align=left valign=top>Nazwisko</td>
<td><input name=last_name type=text id=last_name></td>
</tr>
<tr>
<td align=left valign=top>E-mail</td>
<td><input name=email_address type=text id=email_address></td>
</tr>
<tr>
<td align=left valign=top>Login</td>
<td><input name=login type=text id=login></td>
</tr>
<tr>
<td align=left valign=top>Haslo:</td>
<td><input type=password name=password id=password></td> </tr>
<tr>
<td align=left valign=top>&nbsp;</td>
<td><input type=submit name=Submit value=Zapisz!></td>
</tr>
</table>
</form>
</body>
</html>
[/xml:1:7b579e6eb0]
i przy przesylaniu do pliku register.php dane wejsciowe beda widoczne przy przekazywaniu (wlacznie z password) ?
KaMeLeOn
Cytat
[...] i przy przesylaniu do pliku register.php dane wejsciowe beda widoczne przy przekazywaniu (wlacznie z password) ?

Tak.
Jedyne bezpieczeństwo to SSL.
kliszaq
a nie da sie gdzies po drodze wcisnac hashowani md5?
Seth
Tak. Mozesz pobrac przed wyslaniem pole z haslem i za pomoca JavaScript wyslac juz zahaszowane haslo.

Tutaj http://pajhome.org.uk/crypt/md5/ jest skrypt JS do md5.


Jest jednak jedno ale... user musi miec obsluge JavaScript w przegladarce.
KaMeLeOn
To nic nie da...
Podrodze będzie widać zahashowane hasło, które chcesz już zapewne porównywać z tym na serwerze.
Hashowanie po stronie klienta można ominąć.
kliszaq
t ow takim razie teoretycznie mozna zlamac kazde haslo, ktore jest wpisywane w formularzu wysylane nie na SSL-u sad.gif
KaMeLeOn
Nie teoretycznie - praktycznie... :?
uboottd
i nie zlamac a przechwycic
Kocurro
A zrób tak...

Rozpocznij sesje i w tej sesji zapisz pewną wartość salt, prześlij tą wartość do strony na której chcesz zrobić logowanie...następnie po wpisaniu hasła przez użytkownika, niech JavaScypt prejmie je i wstępnie przerobi za pmocą tej wartości następnie użyj md5 i prześlij wartość zhaszowaną...na serwerze oryginalne hasło potraktuj tak samo tą wartoscią salt, znowu polic hash'a i porównaj, w sesji masz zapsiane tą samą salt jaka została wysłana do użytkownika...postaraj się jeszcze o zabezpieczenie aby wartość salt była bardzo zróżnicowana i aby sienei powtarzała...oraz w skrypcie dodaj blokowanie wielokrotnego bvłędnego logowania - 10 pró w ciagu dnia - blokada ip na tydzień...u mnie działa extra...
uboottd
A nie prosciej i pewniej uzyc SSL-a ?
Kocurro
1) ktoś nie ma dostępu do serwera z SSL
2) ktoś nie umie go skonfigurować
3) ktoś lubi strugać wykałaczkę toporkiem

dać wiecej powodów dlaczego mój pomysł nie jest zły laugh.gif
Seth
Albo poprostu nie dawaj uzytkownikowi mozliwosci podawania swojego hasla.
Po podaniu loginu itp. przeslij mu haslo na maila.
Kocurro
Seth dzięki...właśnie podałaeś mi świetny pomysł jak to zrobić w serwisie przy którym pracuję - sieć kablówki, dostęp mają tylko użytkownicy z naszej sieci gdzie mamy własną pocztę i www, poczta szybko będzie docierać więc pomysł jest wprost idealny - jednak pomysł rypie się gdy mamy doczynienia z Internetem, czasami działą strasznie wolno...

A moze zastować system S/key questionmark.gif
uboottd
Cytat
1) ktoś nie ma dostępu do serwera z SSL

albo serwis jest na tyle powazny ze szuka sie serwera z SSLem albo nie jest tak wazny zeby bawic sie w takie grzyby.

Cytat
2) ktoś nie umie go skonfigurować

zawsze mozna sie kogos zpytac, poczytac manuale, nauczyc sie czegos nowego (a SSL jest akurat prosty)

Cytat
3) ktoś lubi strugać wykałaczkę toporkiem

no tak, to ciezko skomentowac... smile.gif

A myslales o haslach jednorazowych ?
Kocurro
uboottd właśnie napisałem o hasła jednorazowych - nazwałem je s/key - bo keidyś był taki system na linux'a...

a tak swoją drogą to temat jest bardzo ciekawy wiec moze zbierzemy sie w parę osób i opracujemy jakiś system który nie wymagałby SSL a zapewniał bezpieczne logowanie...wchodzi w to ktoś questionmark.gif
uboottd
Problem polega na tym co dalej ?
Bo co po skomplikowanej ochronie hasla, skoro nie chronisz juz dalej danych ktore sa przesylane miedzy uzytkownikiem a serwisem ? Wedlug mnie po prostu naklad pracy tego nie usprawiedliwia. Jesli ktos jest w stanie podsluchac rozmowe z serwerem, to rownie dobrze moze sie podszyc pod uzytkownika juz po zalogowaniu i dalej robic co chce.
Kocurro
To może system taki jak w PKO S.A. tj. w Pekao24 questionmark.gif

jest jeden PIN, który pozwala na oglądanie naszych pieniędzy a gdy chcemy je wydać to każdorazowo podajemy PIN jednorazowy...
adwol
Cytat
uboottd właśnie napisałem o hasła jednorazowych - nazwałem je s/key - bo keidyś był taki system na linux'a...

a tak swoją drogą to temat jest bardzo ciekawy wiec moze zbierzemy sie w parę osób i opracujemy jakiś system który nie wymagałby SSL a zapewniał bezpieczne logowanie...wchodzi w to ktoś questionmark.gif

Nie wymyśliłeś nic nowego. Takich systemów już trochę jest (np. Kerberos, parę metod SASLa, itp.), ale i tak to zapewni Ci co najwyżej to, że hasło nie zostanie złapane. Nadal będzie można przejąć taką sesje i dostać się do systemu. Jak chcesz rzeczywiście utrudnić życie potencjalnym włamywaczom to bez protokołu typu SSL lub podobnego się nie obejdzie.
kliszaq
qrcze to nie pozostaje nic innego jak zalozyc konto na serwerze, gdzie trzeba bardzo duzo zaplacic, ale nic co sie nie robi dla bezpieczenstwa... 8)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.