Come sapere se una webapp trasmette la mia password in chiaro?

20

Sto cercando di vedere se una webapp trasmette la password in qualche forma di testo in chiaro. Il problema è che l'app web NON sta utilizzando https! Questo è il motivo per cui mi chiedo se le mie password siano inviate in chiaro.

Ho trovato un cookie nel mio browser che contiene quanto segue:

usr=waytodoor&mdp=3C5115ECB18725EBFFF4BB11F9D17798358477D6E11E0188D54BAB80C86D38D41A16F76D8D0B253445774484FB1AE22E9FC13E257CFB9E7B7466F1BA5417EA004FCBB4E7965CA571819146A148EED15A2AEA6E47D9DF338B534264FBC99A57952212629BA79BB34BE9C8C60B73F1F681EE872C64

Da quello che posso dire, usr è il mio nome utente e mdp ("mot de passe" in francese significa password).

Quindi, il campo mdp del cookie è la mia password (e, se è il caso, come potrei "decodificarlo"?), o solo una specie di token? La password è lunga 7 caratteri.

Ho provato a convertirlo da hex o dalla base 64, ma senza fortuna.

EDIT: dichiarazione inclusa che HTTPS non viene utilizzato.

EDIT2: Il sito web è un sito web per studenti. Le password vengono fornite dalla scuola all'inizio dell'anno. Non possiamo cambiarli

Sospetto che alcuni studenti stiano partecipando alla rete scolastica. Provo a disconnettere il più velocemente possibile dal sito Web per invalidare i cookie, ma volevo sapere se possono trovare la password dal cookie.

    
posta WayToDoor 12.05.2016 - 13:28
fonte

5 risposte

35

Ci sono due motivi per chiedere se la tua password è stata crittografata:

  1. Sei preoccupato per la sicurezza del sito.
  2. Sei preoccupato per la sicurezza della tua password.

Per quanto riguarda la sicurezza del sito, senza HTTPS, non ce ne sono in effetti. È necessario considerare ogni comunicazione con il sito come pubblica e assumere che un utente malintenzionato possa fingere di essere te stesso. Usa il sito con cura.

Per quanto riguarda la sicurezza della tua password, senza SSL, non ha molta importanza. Qualcuno può rubare il tuo cookie di sessione e fingere di essere te senza conoscere la tua password. Quindi, assicurati di non riutilizzare la password su altri siti (o riutilizzare mai una password qualsiasi) per impedire che l'esposizione della password su questo sito comprometta gli account su altri siti.

Modifica In risposta alla tua preoccupazione per lo ARP spoofing , senza SSL, potrebbe essere possibile che stabiliscano un MiTM . Una volta che lo fanno, possono vedere il cookie. Senza un'ispezione più approfondita del sito web, non posso dirti se il cookie perde la tua password. Forse è crittografato in sicurezza, forse no. Detto questo, una volta che hanno un MiTM, possono alterare il codice JavaScript che viene inviato al tuo browser. Ciò consentirebbe loro di modificare ciò che viene inviato sul filo, ottenendo così la tua password. E, anche se non posso essere certo senza ulteriore esame, quel cookie mi sembra come un passare la vulnerabilità dell'hash . Se questo è il caso, non c'è bisogno che rubino la tua password dato che il valore del cookie è buono come una password. Tutto questo si riduce a, senza SSL, non c'è sicurezza.

    
risposta data 12.05.2016 - 16:55
fonte
20

Quello che hai lì è 232 cifre esadecimali, o 116 byte di dati. Non è una stringa di testo normale in nessuna codifica normale. Potrebbe essere un hash della tua password, potrebbe essere la tua password crittografata, potrebbe essere solo una sorta di offuscamento facilmente reversibile. O potrebbe essere qualcosa di completamente diverso dalla tua password, come un identificatore di sessione. Potrebbe essere qualsiasi cosa. Senza conoscere la tua password o il codice che usa la webapp è difficile da dire.

Ma se sei preoccupato per la sicurezza della tua password quando è sul filo , non importa. Ciò che importa è che utilizzi HTTPS. * Se utilizzi HTTPS, tutto ciò che viene inviato tra te e il server verrà comunque crittografato. Se non lo fai, non c'è modo di garantire che un uomo nel mezzo non possa rubare la tua password, indipendentemente dal tipo di crittografia che provi a fare sul client.

Solitamente l'unica crittografia utilizzata quando si invia una password al server è quella fornita da HTTPS.

Detto questo, mantenere la password in un cookie (quando è in corso o meno è in chiaro, crittografato, hash o semplicemente offuscato) è una cattiva idea. Chiunque abbia accesso al tuo computer potrebbe rubare il cookie, e se il cookie non è HTTP, potrebbe essere utilizzata anche una vulnerabilità XSS per rubarla.

* Dato che è un buon HTTPS - che il certificato è valido, usi una versione moderna di TLS, ecc. ecc. Le stesse avvertenze che si applicano sempre.

    
risposta data 12.05.2016 - 13:55
fonte
7

Quando vuoi intercettare la comunicazione tra il tuo browser web e un server, puoi farlo spesso con gli strumenti di sviluppo del tuo browser web (solita hotkey: F12). La maggior parte dei browser ha una sorta di scheda Rete in cui tutte le comunicazioni di rete tra il sito Web corrente e Internet sono registrate in chiaro.

Quando trovi la tua password cleartext ovunque e non è una connessione https, è un brutto segno (quando è https, il browser ti mostrerà i dati non criptati, anche se è stato crittografato quando inviato on-the-wire).

Ma anche quando trovi una password crittografata / hash, non saprai se è buona crittografica. In genere puoi solo raccontare utilizzando le tecniche di crittografia analitica fino a quando non hai capito come funziona la crittografia o se decodifichi il codice javascript sul sito web per scoprire come funziona.

    
risposta data 12.05.2016 - 13:51
fonte
1

Questo è il modo in cui normalmente lo indaga. Se si tratta di un hash della password, è possibile testare la password con la funzione hash e confrontare l'output. Questa particolare stringa di hash (presunta) ha 232 cifre esadecimali, che equivalgono a 928 bit. Questa è la dimensione esatta del numero RSA-280, che viene utilizzato nella crittografia SHA-1 (insieme a molti altri numeri RSA, quindi non si può essere sicuri senza provare la funzione).

link

RSA-280 has 280 decimal digits (928 bits), and has not been factored so far.

Potresti aprire il codice sorgente della pagina web, provare a trovare il modulo che ha qualcosa a che fare con SHA-1 (in questo caso), quindi trovare la funzione di hashing al suo interno e poi eseguirlo usando gli strumenti o il nodo di dev del browser .js come questo:

console.log(hashingFunction('yourpass'))

Quindi vedi se l'output ha gli stessi 232 caratteri. Notare che trovare la funzione di hash potrebbe essere complicato, potrebbe essere offuscato, scaricato molto tempo dopo il caricamento della pagina ecc. E ovviamente sarà necessario conoscere JavaScript.

    
risposta data 13.05.2016 - 01:33
fonte
0

Ci sono due possibilità, la tua password è codificata o crittografata in quella stringa. Se è stato crittografato, può essere decifrato solo utilizzando la chiave definita nella webapp, che è abbastanza sicura e ha bisogno di molto tempo per provare a romperla.

    
risposta data 12.05.2016 - 13:36
fonte

Leggi altre domande sui tag