La cronologia del browser è un fattore importante quando si considera la sicurezza?

90

Ho scoperto qualcosa che considero una vulnerabilità principale in un prodotto SaaS che include nome utente e password nella stringa di query dell'URL alla registrazione e ogni tentativo di accesso.

Il supporto tecnico del servizio mi ha detto che considerano la vulnerabilità insignificante, in quanto l'unico modo per sfruttarlo è ottenere l'accesso alla cronologia del browser dell'utente.

Erano corretti nella loro decisione? Sono abbastanza nuovo per la sicurezza delle informazioni, ma suona ancora pigrizia da parte loro.

Ho sfogliato questa domanda , ma dopo aver letto la risposta più promossa, sono ancora più preoccupato di questo aspetto, dato che i dati vengono inviati tramite GET e le credenziali sono visualizzate in testo semplice.

    
posta Ivan Talanov 24.01.2018 - 13:02
fonte

4 risposte

122

Sì, questa è una vulnerabilità. Puoi indicarli a tali corpi augusti come

  • OWASP Top 10

  • CWE
    • Esposizione informazioni tramite stringhe di query in richiesta GET link
    • Credenziali insufficientemente protette link
  • StackExchange

Il problema comune è che le credenziali sono memorizzate sul lato client in chiaro (cronologia del browser) e sul lato server (registri di connessione del server web) e ci sono più metodi per accedere a quei dati .

Sì, è la pigrizia da parte loro. Pensano solo al loro codice e dimenticano il lato client e l'infrastruttura.

    
risposta data 24.01.2018 - 15:57
fonte
57

I segreti non appartengono agli URL. Gli URL compaiono nelle cronologie dei browser, nelle cache proxy, nei log del server, vengono inviati ai fornitori di servizi analitici e possono essere visualizzati in molti altri luoghi in cui non si desidera che vengano visualizzate informazioni segrete. Utilizzando HTTPS (loro fanno usano HTTPS, giusto?) Previene solo il caching del proxy, nessuno degli altri.

Gli utenti potrebbero anche copiare & incollare gli URL in giro senza notare che le loro credenziali di accesso sono ancora presenti.

Pertanto, le registrazioni e gli accessi devono utilizzare il metodo POST HTTPS con le credenziali di accesso nel corpo del messaggio.

    
risposta data 24.01.2018 - 15:57
fonte
13

Prima regola della sicurezza del prodotto: mai e poi mai fidarsi del venditore che afferma che un problema di sicurezza è irrilevante.

Non duplicherò le risposte tecniche fornite già. Voglio ampliarli e sottolineare che la valutazione che li porta a valutare il problema come irrilevante si basa su ipotesi che possono o meno tenere nell'ambiente del cliente. Senza una solida conoscenza del tuo ambiente non possono effettuare questa chiamata . È come se un'azienda automobilistica affermasse che guidare il loro nuovo modello a 250 km / h è perfettamente sicuro - probabilmente è sulla pista di prova, ma sulla maggior parte delle strade del mondo reale non lo sarebbe (qualità stradale e traffico).

Questo diventa chiaro una volta capito come imperfetto è la loro valutazione. A parte la cronologia del browser, un parametro GET comparirà anche nei file di log proxy e può essere erroneamente inviato quando qualcuno vuole condividere un link, per citare solo i due modi più ovvi in cui questo segreto potrebbe perdere grazie alla loro cattiva decisione ingegneristica .

Considerata la vulnerabilità stessa e il loro cattivo ragionamento e gestione al riguardo, dubito seriamente della loro capacità di produrre prodotti sicuri. Li farei sapere senza mezzi termini e rivalutare il prodotto alla luce di queste nuove informazioni.

    
risposta data 25.01.2018 - 07:25
fonte
3

Hai ragione. Ci sono due cose qui:

  1. Credenziali nell'URL
  2. Memorizzazione nella cache del browser

Le credenziali non dovrebbero mai essere esposte nell'URL. Gli URL sono registrati in molti posti, ad esempio server proxy, firewall, ecc. Sarei felice di rubare quelle informazioni se fossi l'amministratore del firewall o qualcosa del genere. Ora al loro punto che l'attaccante avrebbe bisogno di accedere al browser. Beh, che ne dici se l'utente sta usando un computer pubblico? Continuerebbero a dire che è insignificante? Se lo fanno, amico, devi smettere di usare i loro servizi.

    
risposta data 25.01.2018 - 03:03
fonte

Leggi altre domande sui tag