Ho ricevuto il rapporto veracode per la mia app javaEE. Aveva un difetto in ogni registrazione (usando log4j), quindi aggiungo il StringEscapeUtils.escapeJava(log)
a tutti, ma veracode continua a segnalarli come difetti di sicurezza.errore di sicurezza - rapporto veracode - iniezione crlf
Questa è una soluzione giusta? Cos'altro posso fare?
Si tratta di informazioni rapporto: Titolo: improprio neutralizzazione Uscita per Logs
Descrizione: Una chiamata di funzione potrebbe causare un attacco di forgiare registro. La scrittura di dati non pubblicizzati dall'utente non salvati in un file di registro consente a un utente malintenzionato di creare voci di registro o di immettere contenuti dannosi in file di registro. I file di registro danneggiati possono essere utilizzati per coprire le tracce di un attaccante o come meccanismo di consegna per un attacco a un'utilità di visualizzazione o di elaborazione dei registri. Ad esempio, se un amministratore web utilizza un'utilità basata su browser per esaminare i registri, potrebbe essere possibile un attacco di scripting cross-site.
Raccomandazioni: Evitare di incorporare direttamente l'input dell'utente nei file di registro quando possibile. Disinfetta i dati forniti dall'utente per costruire voci di registro utilizzando un meccanismo di registrazione sicuro come OWASP ESAPI Logger, che rimuoverà automaticamente ritorni a capo e feed di riga inaspettati e può essere configurato per utilizzare la codifica di entità HTML per dati non alfanumerici . Solo scrivere codice di blacklist personalizzato quando assolutamente necessario. Convalidare sempre l'input fornito dall'utente per garantire che sia conforme al formato previsto, utilizzando le routine di convalida dei dati centralizzate quando possibile.
Si consiglia di utilizzare ESAPI, ma è un progetto molto grande quindi ho bisogno la soluzione più semplice, tht per questo che ho provato con String.escape 'StringEscapeUtils.escapeJava (log)'
Thx in anticipo!
Potete fornire ulteriori informazioni dal rapporto Veracode? Ovviamente spogliarlo di qualsiasi informazione identificativa –