Sto cercando di assicurarmi che l'applicazione ASP.NET di Webform sia il più sicura possibile, riceve e archivia i dati di input dell'utente in un database SQL (le solite cose) solo per gli utenti con un accesso, quindi non disponibili per il generale pubblico.Sicurezza accettabile: disabilitare ValidateRequest con le stringhe codificate SQL e HTML paramatizzate?
Disattivando ValidateRequest
per le pagine di input, apprezzo il rischio di attacchi XSS: tutte le query SQL sono parametrizzate, quindi sono sicure da SQL Injection (corretto?).
Invece di utilizzare il libary Anti-XSS, posso solo usare HTMLencode
sul testo di input? Conservo quindi la stringa d HTMLencode
?
O lo sto guardando nel modo sbagliato? Devo memorizzare gli utenti immettendo testualmente, e quindi HTMLencode
o XSS-HTMLencode
ogni volta che viene inviato a un browser?
Ho letto molto sulla convalida della whitelist e sembra che l'ultima versione del team di XSS Library di Microsoft solo HTML codifichi tutto.A tale scopo, ho utilizzato tutti gli esempi di Iniezione XSS di OWASP e, se l'HTML grezzo lo codifica tutto, viene disinfettato. Tuttavia, se l'applicazione deve eseguire il rendering del markup immesso dall'utente, sono necessarie le white list. Grazie per l'intuizione. – RemarkLima