SlideShare uma empresa Scribd logo
1 de 17
Trabalho sobre
PHP Injection & SQL Injection


       GILBERTO BRITO BARBOSA
     CARLOS MAX DE SOUZA FRANÇA
     ROBERTO SOUSA DE LIMA JUNIOR
         DAVI RODRIGUES PINTO
PHP Injection
Consiste em injetar um código dentro de uma página ou
programa vulnerável, cuja linguagem de programação
é PHP, nesta falha o invasor poderá injetar arquivos
“*.php” para rodar comandos dentro do servidor ou ate
mesmo obter uma Shell direto do servidor, a falha pode
ser considerada comum pois PHP é uma linguagem de
fácil aprendizagem, então muitos programadores sem
experiência criam sistemas ou sites, e acabam
esquecendo da segurança do código, vamos mostrar
um pouco dessa “INSEGURANÇA” a seguir.
<?php
 if (isset($_GET['pagina'])) {
    $arquivo = $_GET['pagina'];
 } else {
    $arquivo = 'home.php';
 }
 include ($arquivo);
?>
SQL Injection
SQL Injection é uma técnica de injeção de código
que explora uma vulnerabilidade de segurança
localizada na camada de banco de dados
(database layer) da aplicação. Na prática é
utilizada por hackers (ou não) para ter acesso ao
banco de dados do site da vítima sem que ele
precise de um login ou uma senha efetivamente
para fazê-lo.
Para entendermos melhor como funcionam os
ataques via injeção de códigos SQL (SQL Injection),
vou utilizar um caso bem comum entre os
programadores para que vocês se familiarizem com
mais facilidade.

Pense em um formulário para login no sistema e
uma consulta na base de dados para verificar se
determinado usuário e senha existe em na base de
dados.
Agora no campo senha vamos inserir o seguinte
conteúdo:

admin123’; DROP TABLE usuarios; --

Seria interpretado assim:

SELECT usuario,senha FROM usuarios WHERE usuario
= ‘admin’ AND senha=‘admin123’; DROP TABLE
usuarios; --’;
Primeiro: Separe sempre a exibição de erros em
2 ambientes, o ambiente de desenvolvimento e o
ambiente de produção. O ambiente de
desenvolvimento pode ter qualquer tipo de erro
emitido na tela, afinal, você precisa ver os erros
para tratá-los, no ambiente de produção omita
qualquer tipo de erro, qualquer erro pode ser uma
pista para o hacker descobrir detalhes sobre o seu
ambiente.
Hackers enviaram para o site MySQL.com em um determinado
formulário um comando que, se não for interpretado pelo site,
pode fornecer dados que antes eram sigilosos. E foi o que
aconteceu no caso das bases de dados do site, ironicamente
um dos criadores da base de dados de código aberto SQL.

O responsável pelo ataque publicou então todos os dados que
obteve, o que inclui não só nomes de bases de dados e seus
campos como também usuários e senhas criptografadas.
Pouco mais tarde, a base de dados do site Sun.com, que
comprou a empresa por trás da tecnologia MySQL, também foi
comprometida por meio do mesmo Hacker.
Segundo: Filtre todo o tipo de variável dados que
vem de urls ou inputs de formulário $_GET ou
$_POST para que nenhum dos dados imputados
pelo usuário possa ser interpretado como parte da
instrução SQL.
EXEMPLO DE UMA
INJEÇÃO DE CÓDIGO.
   By Davi Rodrigues

Mais conteúdo relacionado

Mais procurados

Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)Leandro Lugaresi
 
Xss injection indo alem do alert.v 0.4
Xss injection indo alem do alert.v 0.4Xss injection indo alem do alert.v 0.4
Xss injection indo alem do alert.v 0.4William Costa
 
Solr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceSolr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceMarcelo Rodrigues
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEMagno Logan
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Pg2
Pg2Pg2
Pg2csmp
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software SeguroAugusto Lüdtke
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super heroElton Minetto
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasRafael Jaques
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...Rafael Jaques
 

Mais procurados (20)

Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
Xss injection indo alem do alert.v 0.4
Xss injection indo alem do alert.v 0.4Xss injection indo alem do alert.v 0.4
Xss injection indo alem do alert.v 0.4
 
Hello SAFE World!!!
Hello SAFE World!!!Hello SAFE World!!!
Hello SAFE World!!!
 
Web app flaws
Web app flawsWeb app flaws
Web app flaws
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
 
Solr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open SourceSolr - Indexação e Busca com ferramenta Open Source
Solr - Indexação e Busca com ferramenta Open Source
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
Segurança Web com PHP5
Segurança Web com PHP5Segurança Web com PHP5
Segurança Web com PHP5
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Pg2
Pg2Pg2
Pg2
 
Usuarios linux
Usuarios linuxUsuarios linux
Usuarios linux
 
Tratando as vulnerabilidades do Top 10 com php
Tratando as vulnerabilidades do Top 10 com phpTratando as vulnerabilidades do Top 10 com php
Tratando as vulnerabilidades do Top 10 com php
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software Seguro
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
 
Web App Flaws - SQL Injection
Web App Flaws - SQL InjectionWeb App Flaws - SQL Injection
Web App Flaws - SQL Injection
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...
 

Destaque

How to think like a startup
How to think like a startupHow to think like a startup
How to think like a startupLoic Le Meur
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakShelly Sanchez Terrell
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Destaque (6)

Apresentacao i
Apresentacao iApresentacao i
Apresentacao i
 
Inaugural Addresses
Inaugural AddressesInaugural Addresses
Inaugural Addresses
 
How to think like a startup
How to think like a startupHow to think like a startup
How to think like a startup
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Semelhante a PHP Injection & SQL Injection: exemplos e como prevenir ataques

Invasão e correção em sites
Invasão e correção em sitesInvasão e correção em sites
Invasão e correção em sitesDaskonet Dasko
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPFlavio Souza
 
Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Gustavo Neves
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguroCharles Fortes
 
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...As Zone
 
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...Thiago Dieb
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasCJR, UnB
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniterRaniere de Lima
 
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBFIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBErick Belluci Tedeschi
 
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...Thiago Dieb
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteIlton Barbosa
 

Semelhante a PHP Injection & SQL Injection: exemplos e como prevenir ataques (20)

Invasão e correção em sites
Invasão e correção em sitesInvasão e correção em sites
Invasão e correção em sites
 
Invasao_e_Correcao_em_Sites.pdf
Invasao_e_Correcao_em_Sites.pdfInvasao_e_Correcao_em_Sites.pdf
Invasao_e_Correcao_em_Sites.pdf
 
Desenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHPDesenvolvendo sistemas seguros com PHP
Desenvolvendo sistemas seguros com PHP
 
Segurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSourceSegurança de Aplicações WEB e OpenSource
Segurança de Aplicações WEB e OpenSource
 
Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 
Exploits
ExploitsExploits
Exploits
 
Segurança Web: O MMA da Tecnologia
Segurança Web: O MMA da TecnologiaSegurança Web: O MMA da Tecnologia
Segurança Web: O MMA da Tecnologia
 
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
 
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
 
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias RelacionadasAula 1 - Curso de PHP/CI e Tecnologias Relacionadas
Aula 1 - Curso de PHP/CI e Tecnologias Relacionadas
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniter
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
 
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEBFIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
FIEB - WebVibe - Desenvolvimento Seguro de Aplicações WEB
 
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
Palestra - PHPESTE 2015 - Hacker do bem, quebrando as principais dicas de des...
 
Minicurso Yii2
Minicurso Yii2Minicurso Yii2
Minicurso Yii2
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
Apostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a ParteApostila PhP com Wamp 3a Parte
Apostila PhP com Wamp 3a Parte
 
Procergs php-seguro
Procergs php-seguroProcergs php-seguro
Procergs php-seguro
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 

PHP Injection & SQL Injection: exemplos e como prevenir ataques

  • 1. Trabalho sobre PHP Injection & SQL Injection GILBERTO BRITO BARBOSA CARLOS MAX DE SOUZA FRANÇA ROBERTO SOUSA DE LIMA JUNIOR DAVI RODRIGUES PINTO
  • 3. Consiste em injetar um código dentro de uma página ou programa vulnerável, cuja linguagem de programação é PHP, nesta falha o invasor poderá injetar arquivos “*.php” para rodar comandos dentro do servidor ou ate mesmo obter uma Shell direto do servidor, a falha pode ser considerada comum pois PHP é uma linguagem de fácil aprendizagem, então muitos programadores sem experiência criam sistemas ou sites, e acabam esquecendo da segurança do código, vamos mostrar um pouco dessa “INSEGURANÇA” a seguir.
  • 4. <?php if (isset($_GET['pagina'])) { $arquivo = $_GET['pagina']; } else { $arquivo = 'home.php'; } include ($arquivo); ?>
  • 6. SQL Injection é uma técnica de injeção de código que explora uma vulnerabilidade de segurança localizada na camada de banco de dados (database layer) da aplicação. Na prática é utilizada por hackers (ou não) para ter acesso ao banco de dados do site da vítima sem que ele precise de um login ou uma senha efetivamente para fazê-lo.
  • 7. Para entendermos melhor como funcionam os ataques via injeção de códigos SQL (SQL Injection), vou utilizar um caso bem comum entre os programadores para que vocês se familiarizem com mais facilidade. Pense em um formulário para login no sistema e uma consulta na base de dados para verificar se determinado usuário e senha existe em na base de dados.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Agora no campo senha vamos inserir o seguinte conteúdo: admin123’; DROP TABLE usuarios; -- Seria interpretado assim: SELECT usuario,senha FROM usuarios WHERE usuario = ‘admin’ AND senha=‘admin123’; DROP TABLE usuarios; --’;
  • 14. Primeiro: Separe sempre a exibição de erros em 2 ambientes, o ambiente de desenvolvimento e o ambiente de produção. O ambiente de desenvolvimento pode ter qualquer tipo de erro emitido na tela, afinal, você precisa ver os erros para tratá-los, no ambiente de produção omita qualquer tipo de erro, qualquer erro pode ser uma pista para o hacker descobrir detalhes sobre o seu ambiente.
  • 15. Hackers enviaram para o site MySQL.com em um determinado formulário um comando que, se não for interpretado pelo site, pode fornecer dados que antes eram sigilosos. E foi o que aconteceu no caso das bases de dados do site, ironicamente um dos criadores da base de dados de código aberto SQL. O responsável pelo ataque publicou então todos os dados que obteve, o que inclui não só nomes de bases de dados e seus campos como também usuários e senhas criptografadas. Pouco mais tarde, a base de dados do site Sun.com, que comprou a empresa por trás da tecnologia MySQL, também foi comprometida por meio do mesmo Hacker.
  • 16. Segundo: Filtre todo o tipo de variável dados que vem de urls ou inputs de formulário $_GET ou $_POST para que nenhum dos dados imputados pelo usuário possa ser interpretado como parte da instrução SQL.
  • 17. EXEMPLO DE UMA INJEÇÃO DE CÓDIGO. By Davi Rodrigues