Pergunta

Como uma solução rápida temporária para mitigar o risco principal, enquanto trabalhava na correção permanente para a vulnerabilidade de XSS em uma grande base de código, eu estou procurando um XSS lista negra prevenção pré-existente que faz um trabalho razoável de proteger contra XSS .

De preferência, um conjunto de expressões regulares. Eu estou ciente de muitas folhas de fraude para testes e testes de fumo etc, o que eu estou procurando é regexps pré-ajustado para bloquear os ataques.

Estou plenamente consciente de que a melhor maneira é saída escapando ou se precisar de alguma marcação dos usuários para utilizar whitelisting. Mas, com o tamanho da base de código, precisamos de algo em rápido para reduzir a pegada imediata da vulnerabilidade e levantar a barra, enquanto trabalhando na solução real.

Alguém tem conhecimento de um bom conjunto?

Foi útil?

Solução

Sei que isso pode não ser uma resposta directa à sua pergunta, mas desenvolvedores ASP.NET em uma situação semelhante pode encontrar este útil:

Microsoft Anti-Cross Site Scripting Biblioteca V1.5

Esta biblioteca difere da maioria das bibliotecas de codificação em que ele usa o "princípio de inclusões" técnica para fornecer proteção contra ataques XSS. Esta abordagem funciona através da definição de um conjunto válido ou permitido de caracteres, e codifica qualquer coisa fora deste conjunto (caracteres inválidos ou ataques potenciais). O princípio da abordagem inclusões proporciona um alto grau de proteção contra ataques XSS e é adequado para aplicações Web com requisitos de alta segurança.

Outras dicas

Aqui está um: http://ha.ckers.org/xss.html mas eu não sei se é completa.

CAL9000 é outra lista onde você poderia encontrar algo parecido.

Não tenho certeza se você estiver usando PHP, mas se assim você deve olhar para HTMLPurifer . É extremamente simples de usar; basta adicionar uma chamada para o método purify() onde você aceitar a entrada, ou onde você saída dele. Seus blocos abordagem baseada em whitelist cada XSS atacar Eu testei-o contra.

A folha de fraude na ha.ckers.org/xss.html não está completa. Um colega meu encontrou um ou dois que não estão lá. RSnake faz lista muitos dos regex filtra cada corda ataque recebe passado. Use um pouco e você pode fechar buracos suficientes.

Seria uma boa começar lugar. Se nada mais, para saber que tipos de coisas que você precisa para estar procurando.

Use-a como um lugar para começar e certifique-se os scripts que você escreve escapar caracteres suficientes para fazer quaisquer ataques suas listas negras falta prestados benigna. Que bom é a injeção de XSS se nenhum navegador processa-lo?

Na realidade escapando suficiente dos personagens certos vai a maior parte do caminho até aqui. É muito difícil para injetar XSS em um script que transforma cada < e foge "para ".

Se você executar Apache você poderia usar mod_security para fechar alguns buracos. Pelo menos ele iria fornecer-lhe com uma ferramenta (o consola ou um arquivo de log simples ) para monitorar o tráfego e para reagir antes que seja tarde demais. Além disso, gotroot.com tem algumas regras interessantes para aplicações web.

Então, novamente, eu realmente não sei que tipo de buracos que estão fechando.

O que você quer é um IDS (Intrusion Detection System). Se você estiver usando PHP, há PHPIDS . É mantida e testada por uma comunidade hacker excelente. Eles foram jogando todos os tipos de coisas para ele para melhorar os filtros, bem além lista original de RSnake. Houve também um lugar de porta NET, não tenho certeza se ele ainda está mantida.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top