Qualcuno può aiutarmi a capire questo codice e quali vulnerabilità esistono? [chiuso]

-3

quali sono le vulnerabilità ???

    
posta Swetha v m 16.05.2018 - 04:29
fonte

2 risposte

1

Can any one pls help me understand this code

È una pagina di "reimpostazione della password". Se l'e-mail esiste nel database, allora dice che non può resettare la tua password (mi azzarderei a indovinare che il sistema di reimpostazione della password è stato recentemente abusato).

Se non esiste, dice che non è possibile ripristinare la password (con un motivo).

Qualsiasi vulnerabilità ancora esistente sarebbe connessa al fatto che la pagina ricalcasse indietro qualsiasi "email" sia inviata alla pagina stessa (non c'è alcun controllo sul fatto che è un indirizzo email valido), e che lo stesso è usato per un'operazione presumibilmente SQL diretta a scoprire se l'e-mail è nel database o no.

A seconda di come viene eseguita quest'ultima operazione, quale accesso è concesso al database, se lo schema è noto e altri fattori, tutte le informazioni potrebbero essere trapelate dal database. Probabilmente, sempre a seconda del back-end del database, alcune istruzioni potenzialmente dannose potrebbero essere inviate al database ed essere eseguite.

In generale, uno schema di reimpostazione della password dovrebbe essere qualcosa del tipo:

check the request is valid

check the email is valid. If not, say "The email you sent is not valid".

check how many emails match in the database.

say "If the address is in the database, an email will be sent shortly.
     Check your spam folder yadda yadda. If you still don't receive an
     email, that means the email was not in our database: contact us."

close browser connection.
(wait a random amount from 0 to 5 seconds)
check that the "sent email" flag is less than 3 and the "last sent"
is more than 24 hours ago; we don't want to spam third parties.
if the email matches number was equal to 1, send the email and increment
the "sent email" flag by 1, also set "last sent" to the current datetime.

Sostanzialmente chi richiede la reimpostazione della password:

  • NON DEVE essere in grado di fare qualsiasi altra cosa (ovvero "Ciao, Bobby Tables !").
  • NON DEVE essere informato se ha indovinato l'email corretta (sapere se l'email di qualcuno è nella base utenti di Nasty'r'U è una violazione della privacy, anche se possono provare a dire che qualcun altro ha fatto la firma)
    • nemmeno indirettamente, calcolando quanto tempo ci vuole per dire "Scusa"
  • NON DEVE essere in grado di bombardare qualcuno con i messaggi di reimpostazione password
risposta data 16.05.2018 - 08:20
fonte
0

Il codice sembra prendere il valore di "Email" dalla richiesta e aggiunto direttamente all'interno dei tag, quando non viene trovato alcun account.

    
risposta data 16.05.2018 - 08:22
fonte

Leggi altre domande sui tag