Domanda

Come soluzione rapida temporanea per mitigare il rischio maggiore mentre si lavora sulla correzione permanente per la vulnerabilità XSS in una base di codice molto ampia, sto cercando una lista nera di prevenzione XSS preesistente che fa un ragionevole lavoro di protezione contro XSS .

Preferibilmente un insieme di espressioni regolari. Sono a conoscenza di molti cheat sheet per i test, i test del fumo ecc., Quello che sto cercando sono regexps pre-sintonizzati per bloccare gli attacchi.

Sono pienamente consapevole che il modo migliore è escape dell'output o se hai bisogno di un markup da parte degli utenti per utilizzare la whitelisting. Ma, con le dimensioni della base di codice, abbiamo bisogno di qualcosa in fretta per ridurre l'impronta immediata della vulnerabilità e alzare il livello mentre lavoriamo sulla soluzione reale.

Qualcuno è a conoscenza di un buon set?

È stato utile?

Soluzione

Mi rendo conto che questa potrebbe non essere una risposta diretta alla tua domanda, ma gli sviluppatori ASP.NET in una situazione simile potrebbero trovarlo utile:

Microsoft Anti-Cross Site Scripting Library V1.5

  

Questa libreria differisce dalla maggior parte delle librerie di codifica in quanto utilizza il " principio delle inclusioni " tecnica per fornire protezione contro gli attacchi XSS. Questo approccio funziona definendo innanzitutto un set di caratteri valido o consentito e codifica qualsiasi cosa al di fuori di questo set (caratteri non validi o potenziali attacchi). Il principio dell'approccio alle inclusioni offre un elevato grado di protezione contro gli attacchi XSS ed è adatto per applicazioni Web con elevati requisiti di sicurezza.

Altri suggerimenti

Eccone uno: http://ha.ckers.org/xss.html ma non so se è completo.

CAL9000 è un altro elenco in cui è possibile trovare qualcosa del genere.

Non sei sicuro di utilizzare PHP, ma in tal caso dovresti guardare HTMLPurifer . È estremamente semplice da usare; aggiungi semplicemente una chiamata al metodo purify() in cui accetti i tuoi input o dove li hai emessi. Il suo approccio basato sulla whitelist blocca ogni attacco XSS contro cui l'ho provato.

Il cheat sheet su ha.ckers.org/xss.html non è completo. Un mio collega ha trovato uno o due che non ci sono. RSnake elenca molti dei filtri regex che ogni stringa di attacco supera. Usane alcuni e potresti chiudere abbastanza buchi.

Sarebbe un buon punto di partenza. Se non altro, per sapere che tipo di cose devi cercare.

Usalo come punto di partenza e assicurati che gli script che scrivi sfuggano a caratteri sufficienti per rendere tutti gli attacchi mancati alle tue blacklist. A che serve l'iniezione xss se nessun browser lo rende?

In realtà, scappare abbastanza dei personaggi giusti arriva qui. È abbastanza difficile iniettare XSS in uno script che trasforma ogni & Lt; in un < e sfugge a " in ".

Se avvii Apache potresti usare mod_security per chiudere alcuni buchi. Almeno ti fornirebbe uno strumento (la console o un semplice file di log ) per monitorare il traffico e reagire prima che sia troppo tardi. Inoltre, gotroot.com ha un paio di regole interessanti per le applicazioni web.

Poi di nuovo, non so davvero che tipo di buchi stai chiudendo.

Quello che vuoi è un IDS (sistema di rilevamento delle intrusioni). Se stai usando PHP, c'è PHPIDS . È gestito e testato da un'eccellente comunità di hacker. Hanno cercato di fare qualsiasi cosa per migliorare i filtri, ben oltre la lista originale di Rsnake. C'era anche una porta .NET da qualche parte, non sicuro se fosse ancora mantenuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top