Il controllo del contenuto di una proprietà dell'URL CSS può essere sfruttato in qualche modo importante?

1

Quindi ho notato su un sito che sto verificando che quando si salvano le impostazioni del profilo dopo averle modificate, uno dei parametri nella richiesta POST è avatar_url.

Mi sono reso conto che potevo ripetere la richiesta POST e cambiare questo avatar_url in qualcosa come link e lo ha inserito nel codice come in questo modo:

<span class="avatar-user user-avatar" data-name="e" style="background-image: url('http://example.com/malicious.html');"></span>

L'ho anche modificato in javascript: alert (1) e lo ho inserito nuovamente nel codice in questo modo:

<span class="avatar-user user-avatar" data-name="e" style="background-image: url('javascript:alert\(1\)');"></span>

In effetti cambia l'URL a questo nel codice, ma in realtà non lo visualizza per l'immagine. Sembra avere qualche filtro contro la visualizzazione. Per l'immagine dell'avatar, mostrerà solo la prima lettera del tuo nome utente.

C'è un modo in cui questo comportamento potrebbe essere sfruttato per RCE o XSS o qualche tipo di esecuzione del codice? Sembra una cattiva idea accettare qualsiasi URL, compresi quelli con file dannosi per l'URL dell'avatar, ma suppongo che non lo sia se non lo analizza.

    
posta Jack 02.04.2018 - 23:05
fonte

2 risposte

4

È possibile. La risposta contiene un URL all'interno di CSS all'interno di HTML. Tutti e tre hanno regimi di escape diversi, e se lo sviluppatore dell'applicazione non eseguiva l'escape per uno di questi diritti, si potrebbe essere in grado di intrufolarsi in un XSS di un livello al di sotto di esso. Ad esempio, cosa succede se l'URI di avatar termina in .../innocent.png')"><script src="malicious.js"></script> ?

Dovresti anche cercare eventuali vulnerabilità note nel sottosistema di rendering delle immagini del tuo browser di destinazione. Probabilmente siete a conoscenza del fatto che sono stati scoperti e risolti problemi gravi nei renderer JPEG, PNG e GIF di vari browser, ma è meno noto che molti browser supportino l'utilizzo di formati di immagine più esotici come SVG e TIFF per gli sfondi. Il TIFF, in particolare, è un formato contenitore altamente estensibile, con una superficie di attacco potenzialmente ampia.

    
risposta data 02.04.2018 - 23:23
fonte
0

Controllare l'url di una risorsa, che è pubblico per altri utenti apre le porte per Cross Site Request Forgery ( CSRF ). Ciò non comporterà un rischio per la sicurezza della tua applicazione web, ma comporterà rischi per la sicurezza per gli utenti su altri siti.

    
risposta data 03.04.2018 - 12:33
fonte

Leggi altre domande sui tag