Pergunta

Quais são as melhores práticas para proteger uma página web coldfusion de usuários mal-intencionados?(incluindo, mas não limitado a, ataques de injeção de sql)

É cfqueryparam o suficiente?

Foi útil?

Solução

Uso um portcullis modificado e filtro todos os escopos vars de entrada (URL, formulário, cookie) onRequestStart.http://portcullis.riaforge.org/

Outras dicas

Pete Freitag tem um blog incrível, especialmente este post em Endurecendo a fusão a frio

Eu diria que as melhores práticas para o ColdFusion são semelhantes às de programação de aplicativos da Web em qualquer idioma.

Eu li recentemente Segurança PHP essencial Chris Shiflett e a maioria das questões discutidas também afetam o Coldfusion, embora a sintaxe para lidar com elas possa ser um pouco diferente. Espero que existam outros livros agnósticos de idiomas (possivelmente melhores) que contêm princípios que podem ser facilmente alterados para uso no Coldfusion.

Embora o uso de uma solução pré -construída funcione, recomendo saber todos os problemas possíveis que devem ser protegidos. Confira o Coldfusion à prova de hackers em Amazonas.

Outro ótimo lugar para aprender sobre a segurança (e todos os tipos de outros tópicos) é conferir a enorme lista de apresentações gravadas em grupos de usuários de Charlie Arehart: http://www.carehart.org/ugtv/

Nunca confiança do cliente.

Mais ColdFusion específico de "definir e esquecer" está a seguir o administrador do servidor diretrizes de proteção indicado acima, mantendo o servidor de up-to-date, e seguintes do ColdFusion no twitter para saber sobre novos problemas imediatamente.

Para aplicações de segurança, o que é comum em todos os idiomas, você deve validar cada pedaço de informação que toca o seu servidor do cliente.Formulários são, obviamente, áreas de controle rigoroso, mas não se esqueça sobre os parâmetros de URL que você pode usar para o estado do aplicativo de gestão ou de controlo.Algo como &startRow=10&tag=segurança, o que não é "suposto" para ser tocada pelo usuário é a entrada do usuário.Mesmo se a sua aplicação pode nunca romper com dados inválidos, você pode não saber como os dados serão usados no futuro.A validação pode ser tão simples como a garantia de que alguém não está entrando em uma de 100 caracteres de tempo primeiro nome e não contém a programação de caracteres ou assegurar que &startRow é sempre um número.Estas são as pequenas coisas que os desenvolvedores de aplicativos, por vezes, ignorar porque tudo funciona bem, desde que você está usando o software como o esperado.

Eu acredito que você pode olhar para a Sony Playstation hacking como um exemplo.Infelizmente, eles não esperavam que alguém corte o cliente (console playstation) e manipular o console PlayStation software para hackear o servidor.O servidor confiável para o cliente.

Nunca confiança do cliente.

Aqui estão as informações sobre uma boa ferramenta que pode ser usada para evitar o XSS.

https://www.owasp.org/index.php/category:owasp_antisamy_project

http://www.petefreitag.com/item/760.cfm

Bastante fácil de implementar e baseado em Java.

Eu recomendo a excelente conversa de Justin McLean "Segurança do Coldfusion e Gerenciamento de Riscos"Inclui um estudo de caso.

Apresentação em PDF http://cdn.classsoftware.com/talks/cfmeetupsecurity.pdf

Streaming de vídeo: http://experts.adobeconnect.com/p22718297

O CFQUERYPARAM é muito importante, mas não o suficiente.

Há uma solução em caixa que usamos no meu trabalho: http://foundeo.com/security/. Ele cobre a maioria das bases. E mesmo se você não quiser comprá -lo, pode dar uma olhada no conjunto de recursos e ter uma idéia das coisas que você deve considerar.

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