Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 16. 10. 2008, 21:07:57
Dobrý den, s php teprve začínám. Přečetl jsem si tento threada zkusil jsem si udělat vlastní přihlašování a registraci uživatelů. Odkaz Heslo uživatele hashuji pomocí sha1(md5($heslo).md5('b3i'))
Kompletní skripty pro prihlasovani Kompletní skripty pro registrovani Chtěl jsem se zeptat, zda je to dosti bezbečné.. Nejde o tento příklad, to asi určitě, ale obecně, můžu to použít v něčem větším? Nebo je to snadno prolomitelné? Děkuji |
||
Mastodont Profil |
#2 · Zasláno: 16. 10. 2008, 21:24:22
Není to bezpečné. Problém je především v tom, že heslo není šifrováno v prohlížeči JavaScriptem.
Kromě toho md5('b3i') vrací vždy stejný hash, v praxi se posílá "sůl", která je pokaždé jiná. Pročtěte si třeba http://php.vrana.cz/bezpecne-prihlasovani-uzivatelu.php |
||
SwimX Profil |
#3 · Zasláno: 16. 10. 2008, 21:52:49
Mastodont
„Kromě toho md5('b3i') vrací vždy stejný hash“ To sice jo, ale útočník by neměl zjisti že šifruju zrovna b3i ne? Děkuji, du číst :) |
||
svadla Profil |
#4 · Zasláno: 16. 10. 2008, 21:56:19
SwimX
clovek nikdy nevi, treba pro b3i je md5 2ddd4df641dce5edbfae940012c671d0 tak si to zkus zadat do http://gdataonline.com/seekhash.php |
||
imploder Profil |
#5 · Zasláno: 16. 10. 2008, 22:07:59 · Upravil/a: imploder
Mastodont
„Problém je především v tom, že heslo není šifrováno v prohlížeči JavaScriptem.“ To sice možné je, aby se nepřenášelo přes síť, ale kvůli tomu se pak nebude dát přihlásit bez javascriptu. Nevím, jestli se to běžně dělá, asi spíš ne. Pokud vadí nešifrovaný přenos, pak je asi lepší volba https. Ale když to není banka nebo tak něco (což tady rozhodně není), tak bych si s tím nedělal až tak hlavu. Odposlouchávání hesel odjinud ze sítě není zas tak jednoduchá záležitost. SwimX Posolení uživatelským jménem by mělo zabrat. |
||
Kcko Profil |
#6 · Zasláno: 16. 10. 2008, 22:24:26
Mastodont
Kromě toho md5('b3i') vrací vždy stejný hash, v praxi se posílá "sůl", která je pokaždé jiná. Pročtěte si třeba A jak potom overis jeho prihlaseni? Kdyz se sul podle Tebe ma pokazde zmenit ? |
||
Mastodont Profil |
#7 · Zasláno: 16. 10. 2008, 22:32:16
imploder
kvůli tomu se pak nebude dát přihlásit bez javascriptu Dá, stačí nějak odlišit formulář odesílaný přes JS (třeba vyplněním hidden pole). Pokud se někdo přihlásí bez JS, snížit oprávnění. Kcko Sůl si ukládáš na serveru, viz Vránův článek. |
||
imploder Profil |
#8 · Zasláno: 16. 10. 2008, 23:02:16 · Upravil/a: imploder
Mastodont
„Pokud se někdo přihlásí bez JS, snížit oprávnění.“ To je blbost, útočník se přece může přihlásit i s JS když se mu povede heslo odposlouchat. A odposlouchat (nezahashované) se mu ho povede když se uživatel přihlásí bez javascriptu a je jedno jaké tím v tu chvíli získá oprávnění. Spíš uživatele upozornit, aby si zapnul javascript pro větší bezpečnost při posílání hesla. Nebo, pokud aplikace šifrovaný přenos vyžaduje, ho k tomu donutit. V každém případě by už JS měl solit, aby to mělo smysl. To trochu kazí účinnost solení - algoritmus solení pak není tajný (každý si ho může přečíst v kódu stránky). Jsou vůbec v JS hashovací nebo šifrovací funkce? EDIT: jj, je to v tom Vránovém článku :) |
||
Mastodont Profil |
#9 · Zasláno: 16. 10. 2008, 23:13:30
imploder
Co kdyby sis taky přečetl ten Vránův článek? :-) |
||
BetaCam Profil |
#10 · Zasláno: 16. 10. 2008, 23:14:23 · Upravil/a: BetaCam
svadla
„clovek nikdy nevi, treba pro b3i je md5 2ddd4df641dce5edbfae940012c671d0 tak si to zkus zadat do http://gdataonline.com/seekhash.php; A co si tím chtěl říci?? V tomto případě je použití Rainbow Table uplně k ničemu. |
||
Mastodont Profil |
#11 · Zasláno: 16. 10. 2008, 23:21:48
imploder
odposlouchat se mu ho povede když se uživatel přihlásí bez javascriptu a je jedno jaké tím v tu chvíli získá oprávnění. Pořádná aplikace samozřejmě v případě přihlášení bez JS uživateli sníží oprávnění trvale (zákaz úprav a mazání čehokoli) nebo další přihlášení nedovolí (až po ruční změně hesla adminem). |
||
imploder Profil |
#12 · Zasláno: 16. 10. 2008, 23:30:51 · Upravil/a: imploder
Mastodont
„Pořádná aplikace samozřejmě v případě přihlášení bez JS uživateli sníží oprávnění trvale (zákaz úprav a mazání čehokoli) nebo další přihlášení nedovolí (až po ruční změně hesla adminem).“ Tak to už bych si radši ten JS zapnul. Tohle uživatele akorát nasere. Než přijít o práva, to se radši nepřihlásím vůbec nebo si prostě pustím něco jiného než Lynx. |
||
Mastodont Profil |
#13 · Zasláno: 17. 10. 2008, 08:49:25 · Upravil/a: Mastodont
SwimX
útočník by neměl zjisti že šifruju zrovna b3i ne To ne, ale proč pokaždé spouštět md5, když tam ten hash můžeš napsat přímo ... imploder V praxi se to většinou nedělá, ale pokud chceš bezpečný systém, tak by to tak nějak mělo vypadat. |
||
svadla Profil |
#14 · Zasláno: 17. 10. 2008, 09:28:06
BetaCam
reakce na To sice jo, ale útočník by neměl zjisti že šifruju zrovna b3i ne? |
||
SwimX Profil |
#15 · Zasláno: 17. 10. 2008, 10:45:02
myslim že odposlouchávání heslo ne serveru zatím řešit nebudu, to mě opravdu příliš netrápí.
Solit nebudu pořád tím samým řetězcem, ale například usernamem, nebo náhondým řetezcem který si pak uložím někam do databáze. děkuji za reakce |
||
imploder Profil |
#16 · Zasláno: 17. 10. 2008, 17:48:51 · Upravil/a: imploder
SwimX
„útočník by neměl zjisti že šifruju zrovna b3i ne?“ Předpokládejme, že útočník se dostane k hashi (tj. heslu zašifrovanému md5()). Ten hash pak zadá tady a vypadne mu, že heslo je b3i - takže tak hash rozšifruje a heslo na to nepotřebuje dopředu vědět. Můžeš tam zkusit dát 32a00ab271abde5c112e05ab89447f1e - uvidíš, jaké je to heslo. Dozvíš se to proto, že jsem tam to slovo včera zahashoval a teď je uložené se svým hashem v databázi a dá se podle něj jednoduše vyhledat. EDIT: tak teda nevím, před chvílí mi to fungovalo (mělo by vyjít "kukuřice") :| |
||
BetaCam Profil |
#17 · Zasláno: 17. 10. 2008, 19:39:00
imploder
Pane bože co to má s tim co společného?? Co tu furt vytahujete Rainbow Table?? Kolikrát to tu mám furt opakovat SALT není tajný tajný je pouze způsob jeho použití. Salt v podstatě "znemožňuje" použití Rainbow table. Tady máš něco aby ses zabavil : 247d5e6924f26717475e99ae7c6d4409 4836c8dc2099baee7ad9d01097cfe50e 359a0b3f272bc171f61de902d2e194b6 Jako salt byl použit string : b3i Sem opravdu zvědav jak z toho vyluštíš jakým třem heslům tyto hashe odpovídají. |
||
Časová prodleva: 15 let
|
0