sexta-feira, 28 de novembro de 2008
Novidades do Mundo Delphi
sexta-feira, 21 de novembro de 2008
Ataques de injeção no ASP.NET - Parte II
Etapa 1. Usar a validação de solicitação do ASP.NET
Por padrão, a validação de solicitação das versões 1.1 e 2.0 do ASP.NET detecta qualquer elemento HTML e caracteres reservados em dados postados no servidor. Isso ajuda a evitar que usuários insiram scripts em seu aplicativo. A validação de solicitação verifica todos os dados de entrada em relação a uma lista embutida em código de valores potencialmente perigosos. Se houver uma correspondência, ela emitirá uma exceção do tipo HttpRequestValidationException.
É possível desabilitar a validação de solicitação no arquivo de configuração do aplicativo, Web.config, adicionando um elemento
Se for necessário desabilitar a validação de solicitação, desabilite-a apenas na página afetada. Um exemplo disso é quando você tem uma página com um campo de texto de formato livre que aceita entradas formatadas em HTML.
Confirme se a validação de solicitação do ASP.NET está habilitada no Machine.config
Por padrão, a validação de solicitação é habilitada pelo ASP.NET. É possível ver a seguinte configuração padrão no arquivo Machine.config.comments.
Confirme se a validação de solicitação não foi desabilitada, substituindo as configurações padrão no arquivo Machine.config do servidor ou no arquivo Web.config do aplicativo.
Teste a validação de solicitação do ASP.NET
É possível testar os efeitos da validação de solicitação. Para isso, crie uma página do ASP.NET que desabilite a validação de solicitação, configurando ValidateRequest="false" da seguinte maneira.<%@ Language="C#" ValidateRequest="false" %>
(%@ Page ValidateRequest="false" language="c#" Debug="true" Codebehind="cadvideos.pas" AutoEventWireup="false" Inherits="cadvideos.Tcadvideos" %)
Se você configurar ValidateRequest="true" ou remover o atributo da página ValidateRequest, a validação de solicitação do ASP.NET rejeitará a entrada do script e produzirá um erro.
Até o Próximo.
Ataques de injeção no ASP.NET - Parte I
ASP.NET versão 1.1
ASP.NET versão 2.0
Visão geral
É necessário validar todas as entradas não confiáveis em seu aplicativo. Você deve assumir que qualquer entrada dos usuários é mal-intencionada. Entradas de usuários em seu aplicativo Web incluem campos de formulário, seqüências de consulta, cookies do lado do cliente e valores do ambiente do navegador, como seqüências de caracteres de agentes de usuários e endereços IP.
Uma validação pobre das entradas é uma vulnerabilidade comum que pode permitir que seu aplicativo seja alvo de inúmeros ataques de injeção. Os seguintes são tipos comuns de ataques que exploram a validação pobre ou inexistente de entradas:
Injeção de SQL. Se você gerar consultas SQL dinâmicas baseadas em entradas do usuário, um invasor poderá injetar comandos SQL mal-intencionados que poderão ser executados pelo banco de dados.
Scripts intersites. Ataques de scripts intersites (XSS) exploram vulnerabilidades na validação da página da Web injetando código de script no lado do cliente. Esse código é subseqüentemente enviado a um computador de usuário desavisado e executado no navegador. Como o navegador baixa o código do script a partir de um site confiável, ele não tem como determinar se o código é legítimo.
Acesso não autorizado a arquivos. Se o código aceitar entradas de um chamador, um usuário mal-intencionado poderia potencialmente manipular as operações do código relacionadas a arquivos, como acessar um arquivo que não deveria ser acessado ou explorar o código injetando dados inválidos.
Observação: ataques de injeção funcionam em conexões SSL (Secure Socket Layer) de HTTP e HTTPS. A criptografia não fornece nenhuma defesa.
A abordagem geral para a validação de entradas é resumida aqui. Você deve aplicar esta abordagem a todas as entradas recebidas da rede, como caixas de texto e outras entradas de campos de formulário, parâmetros de seqüências de consulta, cookies, variáveis de servidor e parâmetros de métodos da Web. Observe que a estratégia é primeiramente permitir apenas as entradas válidas e, em seguida, recusar as entradas inválidas. Isso é porque é fácil definir as entradas válidas para seu aplicativo, mas não é possível antecipar o formato de todas as entradas mal-intencionadas.
Verifique as entradas válidas da seguinte maneira:
Restrição: verifique os dados válidos conhecidos, validando o tipo, o comprimento, o formato e o intervalo. Para restringir entradas de controles do servidor, utilize controles do validador do ASP.NET. Para restringir entradas de outras fontes, use expressões regulares e validação personalizada.
Rejeição: verifique dados inválidos conhecidos e rejeite as entradas inválidas.
Correção: algumas vezes, também é necessário corrigir entradas e tornar seguras as entradas potencialmente mal-intencionadas. Por exemplo, se o aplicativo oferecer suporte a campos de entrada em formato livre, como campos de comentários, você poderá permitir determinados elementos HTML seguros.
Até o Próximo Artigo.
Fonte: http://msdn.microsoft.com
terça-feira, 11 de novembro de 2008
CodeGear plugins para Eclipse

três novas ferramentas que servem como plug-ins para o eclipse ajudam os desenvolvedores java a aumentarem a performance e a produtividade em eclipse
scotts valley, calif., aug. 16, 2007 – a codegear, unidade de desenvolvimento da borland, anuncia hoje o jgear™, um conjunto especializado de plug-ins para plataforma de desenvolvimento open-source eclipse. o jgear melhora a plataforma open-source e suas ferramentas em três áreas chaves – aplicações de performance java, desenvolvimento visual e colaboração de times – capacidades não endereçadas pelas atuais ides (integrated development environment) baseadas em eclipse.
os principais pontos de dificuldades para os desenvolvedores java usando eclipse derivam de:
• ajuste de performance de aplicação;
• complexidade da arquitetura java;
• codificação e configuração java em servidores e frameworks;
• colaboração de times.
“hoje os desenvolvedores e times resolvem estes problemas manualmente. o jgear permite que os desenvolvedores utilizem ferramentas baseadas em eclipse para endereçar esses desafios diários no desenvolvimento de aplicações java de alta performance mais rapidamente, facilmente e colaborativamente”, diz michael swindell, vice-presidente de produtos e estratégias da codegear. “nosso objetivo com o jgear é ajudar os desenvolvedores e times, usando soluções ides baseadas em eclipse que aumentem tanto o desenvolvimento e a performance das aplicações, como também promovam a diminuição do custo total do projeto”.
as funcionalidades do jgear foram introduzidas primeiramente com o jbuilder® 2007, da codegear, uma ferramenta construída em eclipse que combina as vantagens da plataforma eclipse com as funcionalidades de desenvolvimento visual do jbuilder.
“com o jgear, nós estamos ampliando as funcionalidades para os desenvolvedores que têm usado uma plataforma interna construída em eclipse ou uma ide comercial baseada em eclipse. um princípio fundamental da estratégia da codegear em eclipse é ajudar os desenvolvedores a serem tão produtivos quanto possível usando eclipse e tecnologias open-source”, diz swindell.
