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.