Come rimuovere o almeno modificare la password dal file di immagine della memoria del browser [duplicato]

1

Sto lavorando con JSP.

Quindi, quando un utente invia un modulo, tutti i campi del modulo indicano che nome utente e password vengono memorizzati nel file di immagine della memoria del browser in testo non crittografato.

Ho persino provato con i campi nascosti JSP, ma anche quel valore sembra essere archiviato in testo non crittografato.

Ma se prendo il dump della pagina di login di Gmail dopo che un login avviene in chrome, solo il nome utente viene memorizzato e non la password. Sebbene Firefox e IE memorizzino entrambi.

Alcuni siti bancari, in realtà cambia la password del tutto, diciamo dummy@1234... .

Posso sapere come ottenere lo stesso?

Posso cambiare o rimuovere la password dal dump della memoria.

Ho provato con le singole sequenze di tasti e ho sostituito i caratteri con qualcos'altro, ma in quel caso ho ancora bisogno di inviare la password effettiva allo serever per lo scopo di autenticazione.

Per favore darmi un po 'di luce, in JSP o in JavaScript?

    
posta StrugglingCoder 18.07.2018 - 07:31
fonte

2 risposte

1

Il tuo obiettivo è controllare efficacemente il comportamento del browser e impedire che memorizzi la password che è stata inserita e inviata dall'utente ovunque (né cache né password). Poiché si tratta di software lato client, generalmente non è possibile. Ma possiamo elaborare una soluzione che realizzerà ciò che desideri nella maggior parte dei casi. Tieni presente che non avrai mai il pieno controllo su ciò che il browser memorizza nella RAM, ma questo non è davvero un problema. Un utente malintenzionato in grado di compromettere la RAM è anche in grado di registrare le sequenze di tasti.

Impedisci che si verifichi un evento di invio

La maggior parte dei browser nota quando invii un modulo, perché fai clic su un pulsante speciale ( type="submit" ). Questo probabilmente prometterà all'utente "Vuoi memorizzare la password per questo sito?". Per evitare ciò, puoi implementarlo da solo. Non impostare type="submit" ma creare un pulsante <button onclick="performLogin()" che, se selezionato, cattura i valori dei campi di input e li avvolge in una richiesta HTTP-POST sul tuo sito. Se l'accesso ha esito positivo, restituire la chiave di sessione e scriverla su un cookie o qualsiasi altra cosa si adatti alle proprie esigenze. Utilizzando questo approccio, non si attiva mai un vero "evento di invio", ma solo un evento di clic che non promette all'utente di salvare la password.

La domanda cache è più complicata e temo, non vedo una soluzione coerente e affidabile per questo, poiché un browser non consente a un sito Web casuale di dettare in che modo organizza la RAM. Tuttavia, non riesco a vedere un enorme inconveniente quando lo ignoro. Come accennato in precedenza, il codice dannoso in grado di leggere RAM arbitraria è probabilmente (non sempre) in grado di registrare le sequenze di tasti, compromettendo la password, che è ciò che si sta tentando di evitare.

P.S .: Prestare sempre attenzione quando si implementano misure di sicurezza o meccanismi di autenticazione da soli. Come ha correttamente detto geteguru, "l'implementazione della propria soluzione di sicurezza potrebbe avere delle insidie". Lo aumenterei per "assolutamente le insidie in grado di rovinarti in vari modi che non ti saresti mai aspettato, se non gestito correttamente".

    
risposta data 18.07.2018 - 13:35
fonte
0

Puoi creare il tuo campo di input in js. Cattura sequenze di tasti e riempie una casella di immissione fittizia con asterischi. Puoi eseguire l'hashing della password localmente (utilizzando un salt fornito dal server) e inviare questo hash al server per il controllo tramite il tuo metodo preferito (campo nascosto, ajax, websocket).

Puoi persino implementare lo streaming hash, in questo modo la password non verrà mai memorizzata nella memoria come un tutt'uno.

Ovviamente un attaccante dedicato potrebbe decodificare il codice, ma sarebbe comunque piuttosto difficile raschiare la password dal dump della memoria.

Parola di avviso: l'implementazione della tua soluzione di sicurezza potrebbe avere problemi.

    
risposta data 18.07.2018 - 12:27
fonte

Leggi altre domande sui tag