Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Program v C# ověření uživatele - jméno a heslo

Ahoj,

řeším takový "problém".

Mám program v C# v exe, který po spuštění vyžaduje zadat jméno a heslo uživatele.

Je potřeba kontrolovat jestli existuje uživatel v databázi.

Jsem si vědom toho, že C# lze přeložit do kódu.

Můj návrh řešení:

Programem vyžádat na webu kontrolu

www.mojestranka.cz/over_uzivatele?login=jemno&heslo=heslo

(ještě bych zavedl to, že kdyby někdo zkoušel brute force na tuto url, dostane ban).

Odpověď true/false.

Co vy na to?

Nepředpokládám že se někdo pokusí hackovat ten program a ani se nic závažného nestane, pokud by nějakým způsobem obešel někdo toto zabezpečení.

Nebo máte nějaký lepší návrh?

Předmět Autor Datum
No rozhodně bych to neposílal GETem, ale POSTem. A ideálně přes HTTPS. Ale k čemu je to vlastně dobr…
Wikan 27.02.2016 13:15
Wikan
Chci aby se do programu dostal jen ten, kdo má účet na stránce a zároveň tím budu logovat jak jsou u…
MašinkaTomáš 27.02.2016 13:19
MašinkaTomáš
Neukladej heslo v databazi, ale uloz tam je hash hesla, pripadne jeste doplneny o nejaky znak, ale t…
Jan Fiala 27.02.2016 13:36
Jan Fiala
Nerozumím.... V databázi mám samozřejmě hesla kódovaná... Při přístupu na url přijde heslo v normá…
MašinkaTomáš 27.02.2016 13:38
MašinkaTomáš
Psal jsi, že máš program v C# - předpokládám, že svůj. Ten program musí posílat heslo už hashované,…
Jan Fiala 27.02.2016 17:43
Jan Fiala
Ano můj. Ten program musí posílat heslo už hashované Dobře, ale raději jiným hashem než se hashují…
MašinkaTomáš 27.02.2016 18:17
MašinkaTomáš
Zajímalo by mne k čemu toto... Jaký význam má posílat hesla v jiném hashu, než ve ktrém ho web rozpo…
Xaverista 27.02.2016 22:37
Xaverista
Dle mého názoru je lepší dekódovat -> kódovat... než posílat hash, kterým mám uložený hesla. To…
MašinkaTomáš 27.02.2016 23:27
MašinkaTomáš
To, ze se utocnik dozvi algoritmus pro hash - klidne pouzij standardní algoritmus prece neznamena, z…
Jan Fiala 28.02.2016 09:15
Jan Fiala
To, ze se utocnik dozvi algoritmus pro hash - klidne pouzij standardní algoritmus prece neznamena, z…
MašinkaTomáš 28.02.2016 10:06
MašinkaTomáš
Jak si představuješ, že by rozluštil MD5?
Wikan 28.02.2016 10:20
Wikan
www.md5online.org
MašinkaTomáš 28.02.2016 10:36
MašinkaTomáš
To funguje pouze v případě, že o známý hash. Jakmile tam dáš něco jenom trochu neobvyklého, tak je b…
Wikan 28.02.2016 10:38
Wikan
To jsem četl. Zadal jsem par běžných hesel a všechny to rozluštilo v pohodě.
MašinkaTomáš 28.02.2016 10:41
MašinkaTomáš
A proto se solí...
Wikan 28.02.2016 10:42
Wikan
No, jak kdo :-D Někdo ani nehashuje http://tn.nova.cz/clanek/pozor-hackeri-ukradli-118 -tisic-ident…
MašinkaTomáš 28.02.2016 10:47
MašinkaTomáš
Tak debilové se najdou všude.
Wikan 28.02.2016 10:48
Wikan
To jo, díky za rady a zkušenosti.
MašinkaTomáš 28.02.2016 10:50
MašinkaTomáš
Tak pokud pošlu md5 tak tu si rozluští během 5 vteřin, ani ne. = zná heslo. Ne? Psal jsem o hashi,…
Jan Fiala 28.02.2016 11:25
Jan Fiala
Ano, to je pravda. poslední
MašinkaTomáš 28.02.2016 11:31
MašinkaTomáš

Neukladej heslo v databazi, ale uloz tam je hash hesla, pripadne jeste doplneny o nejaky znak, ale to zjisti i utocnik, ktery disassembluje kod. Ale uz nebude schopny zjistit heslo.
Na databazi, pokud to umoznuje udelej ulozenou proceduru, ktera vrati, zda je to ok nebo ne. Tim zabranis pristup ke kodu overovani.

Dle mého názoru je lepší

 dekódovat -> kódovat... 

než posílat hash, kterým mám uložený hesla. To je přeci blbost, takhle by měl útočník přímo ve zdrojáků alogritmus kterým hashuji s osoleným hashem, to je přeci kravina. :i:

Pokud mi bude chtít někdo hacknout apku, tak mi bude muset hacknout server a tam najde algoritmus pro hashování.

C# dekompiluje každej blb, server jen tak někdo nehackne.

To, ze se utocnik dozvi algoritmus pro hash - klidne pouzij standardní algoritmus prece neznamena, ze zna heslo.

Tak pokud pošlu md5 tak tu si rozluští během 5 vteřin, ani ne. = zná heslo. Ne?

Kdyz si na webu osetris, ze po 3 neuspesnych pokusech o prihlaseni bude uzivatel odstrizen napr. na hodinu, pak utocnik nebude mit sanci ani na utok hrubou silou.

To bude, to je v plánu od začátku.

To funguje pouze v případě, že o známý hash. Jakmile tam dáš něco jenom trochu neobvyklého, tak je bez šance. A "solení" ti právě zaručí, že to prakticky vždy bude neobvyklé.
Oni to tam ostatně i píšou:

This algorithm is not reversible, ie it is normally impossible to find the original word from the md5 hash. Our tool uses a huge database in order to have the best chance possible to trace the captcha.

Zpět do poradny Odpovědět na původní otázku Nahoru