L'ID inviato dall'utente negli URL, può aprire qualche vulnerabilità? [chiuso]

-2

Sul sito web che sto costruendo gli utenti possono inviare collegamenti a varie delle loro pagine personali: account YouTube, Twitter, Facebook e molto altro. Quando lo fa, fornisce l'ID al suo account. Ad esempio se l'utente freddiew vuole collegare il suo account YouTube, inserisce semplicemente freddiew nel campo e un link a https://www.youtube.com/user/freddiew apparirà sulla sua pagina.

Lo faccio in questo modo per prevenire la pesca. Mi chiedo se ci sono cose di cui devo preoccuparmi a cui non ho pensato? Meglio prevenire che curare.

Per chiarire sul sito web sto facendo un utente può dare il suo id Steam per esempio.

  1. Digita il suo Steam ID: louis .
  2. Nella sua pagina del profilo apparirà un link: http://steamcommunity.com/id/Louis .

La mia domanda è: c'è un modo per l'utente di reindirizzare qualcuno aggiungendo una stringa speciale? Allo stesso modo puoi aggiungere &direction=right per aggiungere un parametro, esiste una stringa che non sa di poter reindirizzare l'utente come &redirect=true&url=myphishingsite.com ? Ne dubito ma voglio esserne sicuro.

Il motivo per cui sono paranoico è perché alcuni di questi siti a cui sto collegando sono famosi per avere persone che si innamorano del phishing. Voglio salvare i miei utenti che problemi.

Ad esempio Facebook non ha disinfettato un input che reindirizza . Ora è stato risolto ma è successo. Quindi dovrei regex l'input? In tal caso, quale carattere non dovrei consentire?

    
posta Ced 06.01.2016 - 02:54
fonte

2 risposte

3

Il tuo vero problema, a quanto ho capito, è:

How can I prevent a user to put unauthorized characters which could open some security issues when I display the URL as a clickable link?

La tua unica soluzione affidabile è il filtraggio.

In particolare, la lingua che utilizzi per sviluppare questo sito web dovrebbe offrirti una funzione per filtrare l'ID fornito dall'utente, quindi è adatto per essere inserito come parametro CGI dell'URL (devi filtrare quando crei l'URL di output, non provare a filtrare il valore quando lo si memorizza nel database).

Ad esempio, in PHP, questa funzione sarebbe urlencode () .

    
risposta data 06.01.2016 - 11:51
fonte
1

Non devi preoccuparti perché non ci sarà una funzione per reindirizzare l'utente a un altro sito all'interno del sito SNS.

    
risposta data 06.01.2016 - 09:51
fonte

Leggi altre domande sui tag