Recentemente ho postato questa domanda su Code Review e mi è stato raccomandato di chiederlo a voi ragazzi.
Fondamentalmente, questo sarà usato per consentire agli utenti di generare contenuti formattati. Viene inserito all'interno di tag HTML, quindi non devo preoccuparmi di un utente malintenzionato che esce da un attributo. Se questo non è chiaro, ecco un esempio:
<div>
Generated content
</div>
Modifica: non sto inserendo il contenuto in un attributo, quindi le citazioni di escape non sono un problema. So che devo ancora controllare gli attributi errati all'interno del contenuto generato dall'utente, che è ciò che una grande parte dello script è per.
Ho stabilito che sono vulnerabile a un utente malintenzionato che pubblica un link dannoso o pubblica un'immagine di tracciamento, ma è una cosa che sono disposto ad accettare. Non penso che tu possa impedirlo senza URL di elenchi bianchi, il che ridurrebbe drasticamente la libertà che gli utenti hanno. Se esiste un modo fattibile per risolvere questa vulnerabilità, mi piacerebbe saperlo.
Ho letto il foglio cheat OWASP XSS , e penso di avere tutti quelle basi coperte.
Di cosa devo preoccuparmi al di fuori di quel cheat sheet? Mi sono perso qualcosa? Il mio codice è a prova di futuro? Sono sopra la mia testa? Dovrei semplicemente passare a BBCode o Markup?