Vulnerabilità Url Shortener

6

Ho un servizio come un piccolo URL per abbreviare%% di% degli URL. Tuttavia include le informazioni sensibili specificate dalla persona.

Come posso proteggere l'URL degli scanner bruteforce per rilevare se l'URL ha una risposta. O comunque è possibile?

UPDATE: 2015/09/17

Invierò il link abbreviato come SMS o E-Mail in modo da non avere alcuna informazione sulla sessione. Immagino di non poter risolvere la vulnerabilità. Devo annullare il servizio shortener.

    
posta engincancan 17.09.2015 - 19:42
fonte

3 risposte

7

Risposta semplice e semplice

NON COMPRENDERE MAI QUALSIASI TIPO DI INFORMAZIONI PERSONALI NELL'URL.

L'URL è estremamente facile da ottenere dall'esterno (ad esempio javascript, screenshot, ecc. ecc.) e non dovrebbe mai e poi mai includere informazioni personali. È come usare un numero di previdenza sociale come numero di targa.

Tecnicamente puoi bloccare gli scanner bruteforce aggiungendo assegni come se l'utente fosse nella sessione corrente e rifiutare la connessione se qualcuno sta tentando di accedere all'URL senza informazioni sulla sessione, ma non è ancora un buon approccio perché ti darà ancora un po ' sorta di risposta dal server. (per esempio, se si controlla solo la sessione ed echo che non si ha il permesso, questo vi darà 200 codici di risposta, e l'attaccante sarà in grado di notare che c'è QUALCOSA)

Trova altri modi per fornire il tuo servizio senza utilizzare le informazioni personali sull'URL.

Come suggerito di seguito, se decidi di cancellare le informazioni personali, ti preghiamo di usare più a lungo & più set di caratteri.

Se usi solo 6 caratteri alfabetici, ci vorranno circa 9 ore con attacco di forza bruta di Classe A, e la Classe F può romperlo istantaneamente.

Dai un'occhiata a questo sito web e assicurati di averlo corretto correttamente. Ma di nuovo, l'hashing non dovrebbe essere la soluzione definitiva.

EDIT:

Se non visualizzi informazioni personali sull'URL, potrebbe andare bene. Puoi semplicemente generare un link personale e inviarlo al tuo utente tramite SMS o email con autenticazione .

Ciò significa che, una volta che l'utente fa clic sul collegamento, porterà l'utente alla schermata di accesso. L'URL non dovrebbe significare nulla in questo caso, naturalmente.

    
risposta data 17.09.2015 - 19:58
fonte
1

La guida OWASP consiglia due metodi ( Come proteggere i dati sensibili negli URL ):

  1. Hashing dei dati sensibili

  2. Crittografia dei dati sensibili tramite la crittografia simmetrica

risposta data 17.09.2015 - 19:59
fonte
0

Se le informazioni personali si trovano nella pagina a cui punta l'URL, è possibile implementare le seguenti misure:

  • Aggiungi qualche tipo di segreto condiviso o autenticazione prima che l'utente possa accedere ai dati. (Per quanto ho capito, questo non è quello che vuoi fare dato che con l'autenticazione completa non avresti bisogno di URL abbreviati)
  • Se l'autenticazione non è appropriata, aggiungi un CAPTACHA sicuro prima che l'utente possa accedere ai dati.
  • Monitora gli indirizzi IP di accesso e i programmi utente e applica i lockout o la limitazione dopo a alcuni tentativi di connessione.
  • Aggiungi un tempo di scadenza e / o una soglia in modo che la pagina con i dati diventi cancellato dopo un breve periodo e / o una certa quantità di visite. (Non dimenticare la lista nera usata per ID prevenire collisioni)
  • Aumenta l'entropia dell'ID aumentando il numero di caratteri usati (lettere maiuscole, numeri, barre, altri caratteri speciali)
risposta data 18.09.2015 - 08:15
fonte

Leggi altre domande sui tag