![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 4 Dołączył: 18.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Pewnie większość z Was kojarzy metody logowania na stronach banków. Jest to wykonane w ten sposób, że musimy podać tylko kilka znaków naszego hasła (reszta jest zablokowana, tak jakby już były wpisane). Zastanawiam się w jaki sposób to działa. Zakładam, że hasła są hashowane, więc w jaki sposób porónywane są ciągi, skoro są niekompletne. Nie jest chyba możliwe, że system wie jakie znaki hasła mamy pod daną cyferką (widoczne na obrazku) i uzupełnia ciąg do porównania z hashem. Do tego "szare" pola są generowane losowo. Interesuje mnie zasada działania, nie proszę o żaden gotowy kod etc. Pozdrawiam. (IMG:style_emoticons/default/smile.gif) Wspomniany obrazek: (IMG:http://i.imgur.com/Dbb16Z6.png) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cofnij się o jeden post i zerknij w linka, którego wkleił redeemer - security by obscurity
Cytat Security through obscurity lub security by obscurity (z ang. bezpieczeństwo poprzez niezrozumiałość) to przykład złych praktyk stosowanych w bezpieczeństwie teleinformatycznym, którego istotą jest ukrywanie detali dotyczących implementacji, formatów i protokołów przed potencjalnymi adwersarzami. Osoby stosujące tę technikę wierzą, że nawet jeśli system posiada luki, nieznajomość błędów uniemożliwia przeprowadzenie ataku. Druga sprawa - jeśli zagłębiłbyś się w treść wątku, zauważyłbyś, że od początku piszemy o stronie backendowej biorąc pod uwagę, że ktoś może wykraść bazę danych. W innym przypadku cała dyskusja nie miałaby sensu, bo hasło można by trzymać w bazie plaintextem. Cytat nadal nie wiem co jest w tym prostszego od jednego globalnego tokena ? Proszę, oto kod dla znanej soli (zapisana w bazie):
Cytat no to ja teraz robie tak, że kazdą litere hasła powiele przez samą siebie np 10 razy Nom, świetny pomysł (IMG:style_emoticons/default/smile.gif) Zamieńmy wszystkie 'a' na 'aaaaaaaaaa'. Problem w tym, że tak samo jak hash(a) = hash(a), tak hash(aaaaaaaaaa) = hash(aaaaaaaaaa) (IMG:style_emoticons/default/wink.gif) Cytat i dodam jeszcze jakąś cyfre (np pozycja w ciągu) Tutaj racja, pozwoli to ograniczyć kolizje do takich samych znaków na tej samej pozycji. Ale też nie widzę problemu, żeby zamiast 'a' sprawdzić 'a1', 'a2', ... 'a20'. Cytat i co teraz ? na stronie będzie działać bo będę mieć odpowiednio napisany skrypt, a ty jak na to wpadniesz ? Patrz wyżej - security by obscurity Cytat wykradzioną bazę danych to Ty sobie dodałeś. Zazwyczaj pierwsza linią ataku jest sam formularz no ale co tam ;p widocznie łatwiej jest ukraść bazę ;p To po co przejmować się w ogóle jakimkolwiek hashowaniem? (IMG:style_emoticons/default/smile.gif) Trzymaj hasła w plaintext i cześć (IMG:style_emoticons/default/wink.gif) Ten post edytował sowiq 18.07.2013, 12:13:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:20 |