Validazione dell'input dell'utente

Qualcuno sa se è possibile implementare una convalida personalizzata dell’input utente, in particolare per i nuovi utenti, i nuovi badge di amministratore e i nuovi campi utente.

Dopo un test di penetrazione, abbiamo scoperto che siamo vulnerabili all’iniezione HTML e ad altri input dannosi in queste aree e ci chiedevamo se ci sia un modo per convalidare ulteriormente questi input per migliorare la sicurezza (magari utilizzando espressioni regolari o un altro metodo per ottenere lo stesso risultato).

Grazie in anticipo!

1 Mi Piace

Sì, è possibile per te, o per uno sviluppatore professionista di plugin Discourse, scrivere un plugin “relativamente semplice” per aggiungere la convalida ai modelli.

Forse dovresti pubblicare la tua richiesta in Marketplace?

Quali campi sono suscettibili all’injection HTML?

3 Mi Piace

Esattamente quello che stavo per chiedere.

1 Mi Piace

Spero che lo dica agli sviluppatori in privato prima di noi :slight_smile:

Discourse non partecipa forse a un programma attraverso il quale vengono pagati per la scoperta di vulnerabilità di sicurezza?

1 Mi Piace

Infatti: hackerone

2 Mi Piace

Grazie per aver risposto così rapidamente!

Quindi i parametri interessati sono:

Creazione utente: name, title, location, bio_raw

Distintivi: name, description, long_description

Campi utente: name, description

Facciamo parte della comunità, ma non siamo dello staff. Dovresti ottenere una risposta da loro su questo. Tuttavia, data l’attenzione che il team dedica alle vulnerabilità e alla sicurezza, oltre all’utilizzo di framework standard del settore, consiglierei di attendere prima di esprimere un giudizio, finché non avranno avuto il tempo di rispondere.

Non sembra qualcosa che tu debba mitigare, ma allo stesso tempo, potrebbe già essere stato risolto in qualche modo.

2 Mi Piace

Sarei molto sorpreso se fosse possibile inserire codice HTML. Dimostratelo modificando il vostro profilo qui con un esempio banale.

2 Mi Piace

Benvenuti su Meta @Cal :wave:

Quei campi vengono sanificati/escaped. Inoltre, Discourse ha CSP abilitato per impostazione predefinita.

Anche questi vengono sanificati. Sono inoltre accessibili solo agli amministratori e vige anche la CSP.

Se hai individuato un problema di sicurezza legato all’input utente che si verifica con la CSP attiva, saremmo lieti di saperne di più qui.

7 Mi Piace