Stiamo salvando la password in un database usando PHP:
return hash('sha256', PASSWORD_SALT . $password);
Recentemente un (fortunatamente) buon hacker SQL ci ha iniettato e incrinato alcune password, compresa quella dell'amministratore.
La storia non si è conclusa drammaticamente o terribilmente come nei film di Hollywood, perché è stato così gentile da indicarci i buchi. (Lo abbiamo "ringraziato" di conseguenza.)
Ora che i buchi sono stati riparati, temiamo che possano esserci dei buchi da qualche altra parte, dato che la base del codice è grande. Le domande sono:
- Come mai ha infranto la password così velocemente (poche ore in meno di un giorno)? PASSWORD_SALT è piuttosto lungo, memorizzato nel codice sorgente e non ce l'ha. Inoltre, una password vuota non è accettata nel codice PHP.
- Supponiamo che dovremmo modificare l'hash / crittografia per le password esistenti e future. Quale crittografia consigliate in modo che la password esposta sia più sicura?
Ci ha detto che ha usato un po 'di software e dozzine di macchine desktop a sua disposizione nella sua azienda. Ha detto che è un esperto di sicurezza annoiato in qualche grande azienda, quindi ha i mezzi per fare cose.