Problemen met salt
Fabian
22/01/2008 19:20:00Ik ben op het moment bezig met het beveiligen van een login systeem. Er wordt gezegd dat een salt uitkomst kan bieden om bijvoorbeeld het een brute force aanval moeilijker te maken. Maar doe ik ergens iets fout? Het heeft te maken met de volgorde:
Stel een gebruiker probeert in te loggen met een correcte combinatie van gebruikersnaam en wachtwoord. Dan krijg je iets als:
Als dit klopt, dan hoeft iemand bij een brute force aanval dus het salt niet eens te weten omdat dit al door het script al ingevuld wordt. Het brute force programma hoeft dan dus alleen het gedeelte van het wachtwoord van de originele gebruiker te kraken.
Voordeel is wel: als een hacker de wachtwoorden uit de database weet op te vragen, dan kan die de wachtwoorden niet zomaar uitlezen. Die verschijnen dan namelijk in een al 'gesalte' versie.
-------------------------------------------------
concreet: Zie ik ergens iets over het hoofd of heeft een salt geen nut bij een brute force aanval?
Stel een gebruiker probeert in te loggen met een correcte combinatie van gebruikersnaam en wachtwoord. Dan krijg je iets als:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
1] Haal wachtwoord bij ingevulde gebruikersnaam uit de database op.
2] Voeg de salt aan het ingevulde wachtwoord toe.
3] Vergelijk dit met de al 'gesalte' versie van het wachtwoord uit de database.
?>
1] Haal wachtwoord bij ingevulde gebruikersnaam uit de database op.
2] Voeg de salt aan het ingevulde wachtwoord toe.
3] Vergelijk dit met de al 'gesalte' versie van het wachtwoord uit de database.
?>
Als dit klopt, dan hoeft iemand bij een brute force aanval dus het salt niet eens te weten omdat dit al door het script al ingevuld wordt. Het brute force programma hoeft dan dus alleen het gedeelte van het wachtwoord van de originele gebruiker te kraken.
Voordeel is wel: als een hacker de wachtwoorden uit de database weet op te vragen, dan kan die de wachtwoorden niet zomaar uitlezen. Die verschijnen dan namelijk in een al 'gesalte' versie.
-------------------------------------------------
concreet: Zie ik ergens iets over het hoofd of heeft een salt geen nut bij een brute force aanval?
Gewijzigd op 01/01/1970 01:00:00 door Fabian
PHP hulp
06/11/2024 00:31:57Frank -
22/01/2008 19:29:001) Heel géén wachtwoord op uit de database
2) vergelijk het ingevoerde wachtwoord met md5 en salt in de WHERE van je query:
Voer deze query uit, fetch het resultaat en ziedaar het id en de username van de user die hoort bij het opgeven emailadres en wachtwoord.
2) vergelijk het ingevoerde wachtwoord met md5 en salt in de WHERE van je query:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query = "
SELECT
id,
username
FROM
users
WHERE
email = '".mysql_real_escape_string($_POST['email'])."'
AND
wachtwoord = '".md5($_POST['wachtwoord'].$salt)."'
;";
?>
$query = "
SELECT
id,
username
FROM
users
WHERE
email = '".mysql_real_escape_string($_POST['email'])."'
AND
wachtwoord = '".md5($_POST['wachtwoord'].$salt)."'
;";
?>
Voer deze query uit, fetch het resultaat en ziedaar het id en de username van de user die hoort bij het opgeven emailadres en wachtwoord.