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?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
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áš
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.

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