Gerenciável e Flexível

Sites gerenciáveis com HelpDesk e Google SEO

Conheça o Produto

Loja Virtual Integrada!

Desenvolva seu site conosco e receba a Loja Virtual integrada.

Veja como funciona

email Marketing & Campanhas

SEO (Google) e Campanhas de Marketing Digital em seu site.

Marketing digital incluso
suporte-criacao-de-site2
Recuar

Site protegido contra SQL Injection e conceituação.

A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entrada de dados de uma aplicação.

Funcionamento

Para exemplificar o funcionamento da injeção de SQL, consideremos uma instrução SQL comum:

SELECT id, nome, sobrenome FROM autores;

Essa instrução, que representa uma consulta na base de dados, retorna todos os registros das colunas "id", "nome" e "sobrenome" da tabela "autores". A partir desta mesma instrução, os registros a serem retornados podem ser restritos através da inclusão da cláusula WHERE, como é visto no exemplo abaixo:

SELECT id, nome, sobrenome FROM autores WHERE nome = 'josé' AND sobrenome = 'silva';

Com base nesta instrução, é fácil supor que "josé" e "silva" são strings, cujo conteúdo será preenchido pela entrada feita por algum usuário que estiver fazendo uso da aplicação.

Portanto, supondo que a aplicação não faça o tratamento apropriado do conteúdo inserido pelo usuário, o mesmo pode fazer o uso acidental do caractere de aspas simples. Gerando a entrada:

  • nome = jo'sé
  • sobrenome = silva

E fazendo com que a aplicação gere o código:

SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'sé' AND sobrenome = 'silva';

De acordo com a especificação da linguagem SQL, existe um erro de sintaxe nessa instrução, uma vez que a string passada para o campo nome é a apenas palavra "jo", pois a adição das aspas simples quebrou a delimitação das aspas simples originais da consulta. O interpretador do SQL espera que o restante da instrução seja outros comandos SQL válidos que complementem a instrução principal. No entanto, como "sé" não é um identificador válido, essa instrução não será executada e retornará um erro.

Com base neste problema, um possível atacante pode manipular os dados de entrada a fim de gerar um comportamento não esperado na base de dados.

Para exemplificar este conceito, consideremos na mesma consulta apresentada, a entrada dos seguintes dados pela aplicação:

  • nome = jo'; DROP TABLE autores ; --
  • sobrenome = silva

Fazendo com que a aplicação gere o código:

SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'; DROP TABLE autores ; --' AND sobrenome = 'silva';

Neste caso, a instrução será executada normalmente, pois não há um erro de sintaxe, no entanto, com a adição do caractere ponto-e-vírgula, a instrução foi dada como finalizada de modo prematuro dando espaço para uma nova instrução. Essa nova instrução, que poderia ser qualquer uma escolhida pelo atacante, pode ser a responsável por retornar dados confidenciais armazenados na base de dados ou de executar instruções que comprometam o sistema, como a remoção de dados e/ou tabelas, como pode ser visto no exemplo apresentado.

Aparentemente um método para prevenir esse problema seria a remoção de aspas simples dos campos de inserção da aplicação, ou simplesmente não executando a query nestas situações. Isso é verdade, mas existem várias dificuldades com esse método tanto quanto soluções. Primeiro, nem todos os usuários inserem dados em forma de strings. Se o usuário puder selecionar um autor pelo 'id' (presumivelmente um número) por exemplo, nossa query aparecerá como abaixo:

SELECT id, forename, surname FROM authors WHERE id=1234

Nesta situação, o atacante pode simplesmente adicionar uma instrução SQL no fim do 'input' numérico. Verificando os dialetos de SQL, vários delimitadores podem ser usados no Microsoft Jet DBMS engine, por exemplo, datas podem ser delimitadas com o caracter sustenido. Portanto, escapando da execução da adição de aspas simples, não necessariamente uma solução como demonstrado anteriormente.

Pode-se ilustrar esse ponto usando um exemplo de página de login em Active Server Pages (ASP), que acessa um servidor de banco de dados SQL e tenta autenticar o acesso em uma aplicação fictícia.

Abaixo está um pedaço de código de uma página de formulário, em que um usuário insere o username e o password para autenticação:

(...)

function Login( cn )
{
   var username;
   var password;
   username = Request.form("username");
   password = Request.form("password");
   var rso = Server.CreateObject("ADODB.Recordset");
   var sql = "select * from users where username = '" + username + "' and password = '" + password + "'";
   trace( "query: " + sql );
   rso.open( sql, cn );
   if (rso.EOF)  {
      rso.close();
   }
}
 
function Main()
{
//Set up connection
   var username
   var cn = Server.createobject( "ADODB.Connection" );
   cn.connectiontimeout = 20;
   cn.open( "localserver", "sa", "password" );
   username = new String( Request.form("username") );
   if( username.length > 0)  {
      Login( cn );
   }
   cn.close();
}

A parte critica é a parte do 'process_login.ascp' que cria uma 'query string':

var sql = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";

Se o usuário inserir os seguintes dados:

* Username: '; drop table users--
* Password:

... a tabela 'users' será apagada, negando o acesso para todos os usuários. A seqüência de caracteres '--' é o comentário de uma linha de SQL, a o ';' denota o fim de uma query e o começo de outra. O '--' no fim do campo username é requerido para que a query em questão seja executada sem erros.

O atacante pode logar como qualquer usuário, se souber o nome do usuário, usando o input abaixo:

  • Username: admin'--

O atacante pode logar como o primeiro usuário da tabelas 'users', com a inserção abaixo:

  • Username: ' or 1=1--

O atacante pode ainda logar como um usuário completamente fictício com o input abaixo:

  • Username: ' union select 1, 'fictional_user', 'some_password', 1--

A razão para que isso funcione é que a aplicação acredita que a linha 'constante' que o atacante especificou é parte do 'recordset' recuperado da base de dados.

Ver também


Os sites desenvolvidos conosco possuem o 2BWEB.FIREWALL (Módulo dificultador para SQL Injection e ataques comuns)



1) [ Faça um orçamento sem compromisso para renovação do site de sua empresa ]

2)
[ Assista também os vídeos demonstrativos e tutoriais do Administrador de Site que será utilizado em sua empresa.]

Produtos 2BWEB

Conheça nossos produtos e solicite um orçamento sem compromisso

desenvolvimento-de-site-seo  SEO Google Otimização

desenvolvimento-de-site-help-desk  Help Desk de Atendimento

desenvolvimento-de-site-e-mail-marketing  e-mail Marketing completo

desenvolvimento-de-site-loja-virtual  Loja Virtual & e-Commerce

desenvolvimento-de-site-completo  Site Completo Gerenciável

Enquete

O site de sua empresa é Responsive ou Responsivo?

Vantagens em fazer o desenvolvimento de site utilizando nosso sistema Administrador de Site

desenvolvimento-de-site-alteravel-administravel

Desenvolvendo ou Renovando seu site com a 2BWEB sua empresa poderá utilizar os módulos de Help Desk, Marketing Digital, SEO (Google, Yahoo e Bing), Site Backup, Formulários Alteráveis e será incluído também a Loja Virtual 2BWEB com cobrança por Cartão de Crédito, Boleto Bancário, Transferência Bancária, Ordem de Pagamento, Cheques e outros.

Veja detalhes

Solicite um orçamento ou CONTRATE CUSTOMIZANDO SEU ORÇAMENTO


Pesquisar em nosso Site

Mais sobre a 2BWEB

Todos os produtos desenvolvidos na 2BWEB, desde websites, Sistemas de Gestão, Lojas Virtuais de e-Commerce, Campanhas de Marketing Digital e Sistemas de Help Desk são 100% WEB desde 1998. Armazenamos os dados em uma  infraestrutura de altíssima segurança e redundância permitindo nossos clientes acessarem 24 horas seus ambientes Web. Venha usufruir deste mundo conosco, será um prazer lhe servir. Att. Equipe 2BWEB
Solicite um orçamento ou CONTRATE CUSTOMIZANDO SEU ORÇAMENTO


Fale Conosco pelos telefones +55 (11) 4680-3706 ou

nos USA pelo: 00xx 1 (908) 718 0007 

Aviso Legal

Mais sobre Criação de Sites

  • Criação e gerenciamento de sites com tudo integrado!
    Criação de site gerenciado com Google SEO, Sistema de Atendimento aos seus clientes, Campanhas de Marketing Digital e assinatura do BoletoSystem gratuitamente durante um ano! Para ter um site bem gerenciado você empresário deve possuir um ambiente controlado por usuários onde um profissional…
  • Criação de Site com Loja Virtual customizados!
    Criação de Site com Loja Virtual customizados! Crie sua loja virtual conosco e receba o primeiro mês de hospedagem gratuito!A 2BWEB tem o prazer de anunciar o mais "novo e exclusivo" sistema de contratação para criação de sites. Se trata de um ambiente com barras…
  • Sites de compras coletivas continuam morrendo
    Como já era de se esperar e nós da 2BWEB também prevíamos, embora o setor de compra coletiva vinha crescendo mês após mês, uma nova pesquisa realizada pelo SaveMe mostra uma realidade obscura desse segmento. Segundo o levantamento, 250 empresas encerraram suas operações em um…
  • Elifer, mais um site Flexível implementado pela 2BWEB
    2BWEB implementa mais um site Flexível para a Elifer (www.elifercortedobra.com.br), empresa especializada em corte plasma, veja ao lado os formatos testados para Tablet, Mobile e Telas maiores!Nós da 2BWEB desenvolvemos sites flexíveis desde 2009 quando este termo nem mesmo era conhecido, porém, desde…
  • Como criar um site ou loja virtual para minha empresa ?
    Criamos sites flexíveis e administráveis. Criação de sites para venda de roupas, acessórios, cosméticos, perfumaria, eletrodomésticos ou qualquer outro produto ou serviço!  O Brasil espera receber 600 mil visitantes estrangeiros durante os jogos. Isso significa que haverá uma demanda de, no mínimo, 230 mil leitos…
  • Porque a sua empresa precisa de um site corporativo !
    O primeiro passo é ter em mente que a internet, acima de tudo, é o canal de comunicação mais importante nos dias atuais. Portanto para que possamos manter contato com nosso público, temos que saber o que querem e o que procuram, principalmente falando de…
  • Criação de Loja Virtual para pequenas empresas
    Trataremos de um assunto muito questionado na atualidade; "Criar sua Loja Virtual de forma econômica!" Existem muitas soluções e respostas, empresas que fornecem serviços, nuvem de e-commerce e profissionais especializados. O que acontece com muita frequência e vem acontecendo em escalas maiores é a falta…
  • Criação de sites Flexíveis ou Responsivos, compatível com celular por apenas 499,00
    Criação de site gerenciável, responsivo, flexível, com Google SEO, Sistema de Atendimento aos seus clientes, Campanhas de Marketing Digital e assinatura do BoletoSystem gratuitamente durante um ano! Criação de sites flexíveis para venda de roupas, acessórios, cosméticos, perfumaria, eletrodomésticos ou qualquer outro produto…
  • Falhas comprometedoras em Lojas Virtuais
    Cada dia que passa a competição está mais acirrada no mercado online, logo é crucial ter uma loja virtual poderosa e funcional. Uma maneira de facilitar isso é evitar erros comuns em seu conteúdo, funcionalidade e layout.Mensagens que não sejam confusasUsuários de internet estão…
  • Eficiência de lojas virtuais 2011 a 2017
    Em 2017, 59% dos Brasileiros com acesso a internet NÃO VÃO COMPRAR online segundo avaliação internacional. Significa que os brasileiros deixarão de comprar em lojas que não estejam completamente dentro de parâmetros e níveis de extrema exigência. Precisamos melhorar na criação de sites ! O…
  • Criação de sites para Hotéis e Pousadas
    Implementamos e desenvolvemos sites para todos os ramos comerciais, no caso de Hoteís e Pousadas implementamos junto ao novo site um exclusivo sistema de Reservas Online onde o internauta preenche os campos de um formulário enviando um email e registrando no sistema interno de sua…
  • Qual o melhor sistema de SEO para Google?
    Muitos dos clientes que procuram nossos serviços perguntam: Qual o melhor sistema de SEO para o Google? , a resposta fácil; é o nosso 2BWEB SEO!Nosso sistema executa de forma automática diversas tarefas que seu Dpto. de Marketing deveria fazer, sem perder a qualidade necessária…
Recuar