Seminário PHP Injection/ SQL Injection

2.015 visualizações

Publicada em

Seminário apresentado na Faculdade Evolução sobre PHP Injection/ SQL Injection, com uma amostra da intrusão que esta na 1ª colocada no hank da OWASP

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.015
No SlideShare
0
A partir de incorporações
0
Número de incorporações
35
Ações
Compartilhamentos
0
Downloads
68
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Seminário PHP Injection/ SQL Injection

  1. 1. Trabalho sobrePHP Injection & SQL Injection GILBERTO BRITO BARBOSA CARLOS MAX DE SOUZA FRANÇA ROBERTO SOUSA DE LIMA JUNIOR DAVI RODRIGUES PINTO
  2. 2. PHP Injection
  3. 3. Consiste em injetar um código dentro de uma página ouprograma vulnerável, cuja linguagem de programaçãoé PHP, nesta falha o invasor poderá injetar arquivos“*.php” para rodar comandos dentro do servidor ou atemesmo obter uma Shell direto do servidor, a falha podeser considerada comum pois PHP é uma linguagem defácil aprendizagem, então muitos programadores semexperiência criam sistemas ou sites, e acabamesquecendo da segurança do código, vamos mostrarum pouco dessa “INSEGURANÇA” a seguir.
  4. 4. <?php if (isset($_GET[pagina])) { $arquivo = $_GET[pagina]; } else { $arquivo = home.php; } include ($arquivo);?>
  5. 5. SQL Injection
  6. 6. SQL Injection é uma técnica de injeção de códigoque explora uma vulnerabilidade de segurançalocalizada na camada de banco de dados(database layer) da aplicação. Na prática éutilizada por hackers (ou não) para ter acesso aobanco de dados do site da vítima sem que eleprecise de um login ou uma senha efetivamentepara fazê-lo.
  7. 7. Para entendermos melhor como funcionam osataques via injeção de códigos SQL (SQL Injection),vou utilizar um caso bem comum entre osprogramadores para que vocês se familiarizem commais facilidade.Pense em um formulário para login no sistema euma consulta na base de dados para verificar sedeterminado usuário e senha existe em na base dedados.
  8. 8. Agora no campo senha vamos inserir o seguinteconteúdo:admin123’; DROP TABLE usuarios; --Seria interpretado assim:SELECT usuario,senha FROM usuarios WHERE usuario= ‘admin’ AND senha=‘admin123’; DROP TABLEusuarios; --’;
  9. 9. Primeiro: Separe sempre a exibição de erros em2 ambientes, o ambiente de desenvolvimento e oambiente de produção. O ambiente dedesenvolvimento pode ter qualquer tipo de erroemitido na tela, afinal, você precisa ver os errospara tratá-los, no ambiente de produção omitaqualquer tipo de erro, qualquer erro pode ser umapista para o hacker descobrir detalhes sobre o seuambiente.
  10. 10. Hackers enviaram para o site MySQL.com em um determinadoformulário um comando que, se não for interpretado pelo site,pode fornecer dados que antes eram sigilosos. E foi o queaconteceu no caso das bases de dados do site, ironicamenteum dos criadores da base de dados de código aberto SQL.O responsável pelo ataque publicou então todos os dados queobteve, o que inclui não só nomes de bases de dados e seuscampos como também usuários e senhas criptografadas.Pouco mais tarde, a base de dados do site Sun.com, quecomprou a empresa por trás da tecnologia MySQL, também foicomprometida por meio do mesmo Hacker.
  11. 11. Segundo: Filtre todo o tipo de variável dados quevem de urls ou inputs de formulário $_GET ou$_POST para que nenhum dos dados imputadospelo usuário possa ser interpretado como parte dainstrução SQL.
  12. 12. EXEMPLO DE UMAINJEÇÃO DE CÓDIGO. By Davi Rodrigues

×