Eventuali vulnerabilità nel consentire agli utenti di scegliere il percorso del file S3?

1

Sto costruendo un'app Web che utilizza S3. In alcune delle nostre operazioni, stiamo creando un file su S3 con un percorso che dipende direttamente dall'input dell'utente, quindi un utente malintenzionato potrebbe causare la creazione di un file su S3 con qualsiasi percorso desideri.

C'è un modo per un aggressore di sfruttare questo in un attacco? (Alcune idee che mi venivano in mente erano usare nomi di file magici, o nutrire percorsi molto lunghi, ma se hai altre idee sarò felice di sentirli.)

Se esiste una possibilità seria per una vulnerabilità, prenderemo in considerazione la riprogettazione del sistema.

    
posta Ram Rachum 24.02.2014 - 12:16
fonte

2 risposte

1

Le due possibili vulnerabilità che vengono in mente sono Path Traversal e XSS .

Per proteggersi da Path Traversal, convalida l'input del percorso per assicurarti che l'utente non possa cambiarlo per includere caratteri come .. o / o le loro versioni codificate (ad esempio %2e%2e ). Se potessero, esiste la possibilità che l'applicazione (o l'API S3) interpreti i caratteri come cartella principale o principale.

Ad esempio, se l'utente stava salvando su S3 nella propria cartella /foo e hanno impostato il nome della cartella su ../bar/ , dovresti assicurarti che il file non sia salvato in /bar invece (che potrebbe essere la cartella di un altro utente ).

XSS è solo un problema se il dominio è condiviso con qualsiasi codice applicativo che utilizza i cookie. Improbabile in questo scenario, ma ho pensato di menzionarlo per ogni evenienza. Ciò si applicherebbe anche solo se l'utente potesse influenzare il contenuto del file come essere in grado di includere tag <script> e quindi fare riferimento alla pagina come documento HTML che un utente potrebbe essere indotto a visitare e che quindi trasmetterebbe i cookie all'autore dell'attacco. / p>     

risposta data 25.02.2014 - 11:08
fonte
0

Senza immergersi veramente nell'API di S3, ecco alcune possibilità.

  • L'utente può sovrascrivere i file se conosce il percorso?
  • L'utente può leggere i file se conosce il percorso?
  • L'utente può elencare i file esistenti? Questo potrebbe essere un problema se i file dovrebbero essere privati.

Non è nulla che la tua applicazione non possa gestire con una piccola quantità di codice, ma devi davvero pensare ai casi limite.

    
risposta data 24.02.2014 - 13:02
fonte

Leggi altre domande sui tag