SlideShare uma empresa Scribd logo
Laerte Guedes
Segurança em php
   As linguagens de programação por si só já
    possuem algumas brechas de segurança que
    podem vir a ser exploradas por hackers mal
    intencionados. Porém, estima-se que cerca
    de 70% das falhas exploradas não são da
    linguagem, e sim, da codificação indevida do
    sistema.
   Mensagens de Erro: É necessário muito
    cuidado com a exposição de informações que
    mensagens de erro provocam. Uma simples
    falha de conexão com banco de dados pode
    exibir o nome do banco e o usuário do
    mesmo, o que é perigoso se alguém mal
    intencionado ver.
   Criptografia
   Criptografia: Como sabemos, informações
    trafegam e existe a possibilidade de
    interceptação dessas informações por um
    cracker. Toda informação sigilosa deve ser
    protegida por um algoritmo de criptografia. É
    aconselhável usar um bom algoritmo de
    criptografia, ou usar um próprio.
   Validação de Dados: Tendo seu aplicativo na
    web você nunca terá 100% de controle sobre
    tudo que seus visitantes vão preencher em
    seus formulários, que diga-se de passagem, é
    a ferramenta mais importante de qualquer
    aplicação. Logo, filtre todas as informações
    afim de evitar ataques, tais como: XSS, SQL
    Injection, Mail Injection, HTML Injection e
    outros.
   Configurações de Servidor: Fique atento
    sempre as configurações dos servidores que
    pretende trabalhar. Existem diretivas que
    podem ser exploradas facilmente se não
    houver a devida preocupação por parte do
    programador na hora da codificação.
   Atualize-se: Procure sempre procurar sobre
    novos tipos de invasão e softwares mal-
    intencionados e modo de como proteger o
    seu sistema web deles. Não esqueça, todo dia
    surgem novos vírus e outras ameaças.
   SQL Injection: É um tipo de ameaça de
    segurança que visa a inserção de instruções
    SQL através da manipulação de dados de
    uma aplicação.
   Consideremos o seguinte comando SQL:
   SELECT id, nome, sobrenome FROM autores;
   Restringiremos nossa busca amarrando os
    valores inseridos pelo usuário numa cláusula
    WHERE:
   SELECT id, nome, sobrenome FROM autores
    WHERE nome = 'josé' AND sobrenome = 'silva';
   José e Silva são strings cujo conteúdo será
    inserido como entrada pelo usuário.
   Considerando isso, vamos supor que o usuário
    coloque acidentalmente uma aspa simples no
    meio da string inserida:
   SELECT id, nome, sobrenome FROM autores
    WHERE nome = 'jo'sé' AND sobrenome = 'silva';
   O inserção da aspa faz com que o que vier depois
    dela seja considerado como uma instrução SQL
    autêntica. Acima temos erro de sintaxe, mas
    poderíamos fazer assim:
   SELECT id, nome, sobrenome FROM autores
    WHERE nome = 'jo'; DROP TABLE autores ;
   Desse modo, nesse último comando, ao
    inserirmos uma string acrescida de aspas
    simples e do comando “DROPTABLE
    autores” no injetamos uma instrução SQL de
    forma indevida, e removemos a tabela
    autores de nosso banco de dados.
   Resumindo, a SQL Injection só significa uma
    coisa para nosso sistema:
   Usar a Função Addslashes();
   Fazer validações na entrada;
   Usar prepared statements;
Obrigado!

Mais conteúdo relacionado

PDF
A1 - Sql Injection na Prática Parte 01
PPT
Sql injection
PDF
Palestra sql injection oficial
PPT
Seminário PHP Injection/ SQL Injection
PPTX
Aula 8 - SQL Injection
PPTX
Palestra criando aplicações seguras com php (2)
PPTX
Desenvolvimento de software seguro
PDF
Segurança em Aplicações ASP.NET (XSS e CSRF)
A1 - Sql Injection na Prática Parte 01
Sql injection
Palestra sql injection oficial
Seminário PHP Injection/ SQL Injection
Aula 8 - SQL Injection
Palestra criando aplicações seguras com php (2)
Desenvolvimento de software seguro
Segurança em Aplicações ASP.NET (XSS e CSRF)

Mais procurados (10)

PPTX
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
KEY
Construindo uma Aplicação PHP à Prova de Balas - 2010
PPT
Construindo uma Aplicação PHP à Prova de Balas
PDF
Xss injection indo alem do alert.v 0.4
PPTX
Segurança em PHP - Blinde seu código de você mesmo!
PPT
Tratando as vulnerabilidades do Top 10 com php
PPTX
Desenvolvendo sistemas seguros com PHP
PPTX
Segurança PHP - por Samyr Abdo
PPTX
Desenvolvimento de Software Seguro
PPT
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
Construindo uma Aplicação PHP à Prova de Balas - 2010
Construindo uma Aplicação PHP à Prova de Balas
Xss injection indo alem do alert.v 0.4
Segurança em PHP - Blinde seu código de você mesmo!
Tratando as vulnerabilidades do Top 10 com php
Desenvolvendo sistemas seguros com PHP
Segurança PHP - por Samyr Abdo
Desenvolvimento de Software Seguro
Tratando as vulnerabilidades do Top 10 do OWASP by Wagner Elias
Anúncio

Semelhante a Segurança em php (20)

PPT
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
PDF
Como Fazer Apps Node.Js Seguras
PPT
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
PPT
Top 5 vulnerabilidades_em_aplicacoes_web
PDF
ataque_bruteforce_com_hydra_parte_1.pdf
PDF
Invasão e Segurança
PPTX
Engenharia de Software II - Teste de segurança de software
PPT
Seven_Palestra_Banco_Dados_Servidores
PDF
Testes de segurança em aplicações web
PPT
Testes de Segurança de Software (tech-ed 2008)
PDF
Defensive Programming - by Alcyon Junior
PPTX
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
PPTX
Segurança de Aplicações WEB e OpenSource
PPTX
Aula 10 - Cross Site Scripting (XSS)
PDF
Segurança em Aplicativos Web
PDF
Segurança de código
ODP
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
PDF
Exploits
PPTX
Workshop - Testes de Segurança
Construindo uma aplicação PHP à Prova de Balas - Rafael Jaques
Como Fazer Apps Node.Js Seguras
Top 5 vulnerabilidades_em_aplicacoes_web_e_seu
Top 5 vulnerabilidades_em_aplicacoes_web
ataque_bruteforce_com_hydra_parte_1.pdf
Invasão e Segurança
Engenharia de Software II - Teste de segurança de software
Seven_Palestra_Banco_Dados_Servidores
Testes de segurança em aplicações web
Testes de Segurança de Software (tech-ed 2008)
Defensive Programming - by Alcyon Junior
Aula 6 - Ataques de Negação de Serviço (DoS e D-DoS)
Segurança de Aplicações WEB e OpenSource
Aula 10 - Cross Site Scripting (XSS)
Segurança em Aplicativos Web
Segurança de código
Aprendendo a atacar (e proteger) aplicações web através de jogos de guerra
Exploits
Workshop - Testes de Segurança
Anúncio

Mais de COTIC-PROEG (UFPA) (20)

PPTX
LT - Redis
PPTX
LT Ansible
PDF
Testes automatizados com Cypress
PDF
PPTX
PDF
Desenvolvimento de software tradicional vs ágil
PPTX
PDF
Atitudes que levam ao Fracasso profissional
PDF
Os 5 Sensos da Qualidade
PDF
WATSON - O Fascinante Computador da IBM
PDF
Produtividade sem enrrolação
PDF
LAB JavaScript
PDF
Principios e Valores Ágeis
PDF
PDF
Metricas para Times Ágeis
PDF
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
PDF
Técnicas para Programação em Par
PDF
Feedback Canvas
PDF
5 Doenças do Gerenciamento de Projetos
LT - Redis
LT Ansible
Testes automatizados com Cypress
Desenvolvimento de software tradicional vs ágil
Atitudes que levam ao Fracasso profissional
Os 5 Sensos da Qualidade
WATSON - O Fascinante Computador da IBM
Produtividade sem enrrolação
LAB JavaScript
Principios e Valores Ágeis
Metricas para Times Ágeis
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Técnicas para Programação em Par
Feedback Canvas
5 Doenças do Gerenciamento de Projetos

Último (11)

PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Tipos de servidor em redes de computador.pptx
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Jira Software projetos completos com scrum
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Utilizando code blockes por andre backes
Conceitos básicos de Redes Neurais Artificiais
Tipos de servidor em redes de computador.pptx
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Jira Software projetos completos com scrum
Viasol Energia Solar -Soluções para geração e economia de energia
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Manejo integrado de pragas na cultura do algodão
Eng. Software - pontos essenciais para o início
Utilizando code blockes por andre backes

Segurança em php

  • 3. As linguagens de programação por si só já possuem algumas brechas de segurança que podem vir a ser exploradas por hackers mal intencionados. Porém, estima-se que cerca de 70% das falhas exploradas não são da linguagem, e sim, da codificação indevida do sistema.
  • 4. Mensagens de Erro: É necessário muito cuidado com a exposição de informações que mensagens de erro provocam. Uma simples falha de conexão com banco de dados pode exibir o nome do banco e o usuário do mesmo, o que é perigoso se alguém mal intencionado ver.
  • 5. Criptografia
  • 6. Criptografia: Como sabemos, informações trafegam e existe a possibilidade de interceptação dessas informações por um cracker. Toda informação sigilosa deve ser protegida por um algoritmo de criptografia. É aconselhável usar um bom algoritmo de criptografia, ou usar um próprio.
  • 7. Validação de Dados: Tendo seu aplicativo na web você nunca terá 100% de controle sobre tudo que seus visitantes vão preencher em seus formulários, que diga-se de passagem, é a ferramenta mais importante de qualquer aplicação. Logo, filtre todas as informações afim de evitar ataques, tais como: XSS, SQL Injection, Mail Injection, HTML Injection e outros.
  • 8. Configurações de Servidor: Fique atento sempre as configurações dos servidores que pretende trabalhar. Existem diretivas que podem ser exploradas facilmente se não houver a devida preocupação por parte do programador na hora da codificação.
  • 9. Atualize-se: Procure sempre procurar sobre novos tipos de invasão e softwares mal- intencionados e modo de como proteger o seu sistema web deles. Não esqueça, todo dia surgem novos vírus e outras ameaças.
  • 10. SQL Injection: É um tipo de ameaça de segurança que visa a inserção de instruções SQL através da manipulação de dados de uma aplicação.
  • 11. Consideremos o seguinte comando SQL:  SELECT id, nome, sobrenome FROM autores;  Restringiremos nossa busca amarrando os valores inseridos pelo usuário numa cláusula WHERE:  SELECT id, nome, sobrenome FROM autores WHERE nome = 'josé' AND sobrenome = 'silva';  José e Silva são strings cujo conteúdo será inserido como entrada pelo usuário.
  • 12. Considerando isso, vamos supor que o usuário coloque acidentalmente uma aspa simples no meio da string inserida:  SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'sé' AND sobrenome = 'silva';  O inserção da aspa faz com que o que vier depois dela seja considerado como uma instrução SQL autêntica. Acima temos erro de sintaxe, mas poderíamos fazer assim:  SELECT id, nome, sobrenome FROM autores WHERE nome = 'jo'; DROP TABLE autores ;
  • 13. Desse modo, nesse último comando, ao inserirmos uma string acrescida de aspas simples e do comando “DROPTABLE autores” no injetamos uma instrução SQL de forma indevida, e removemos a tabela autores de nosso banco de dados.
  • 14. Resumindo, a SQL Injection só significa uma coisa para nosso sistema:
  • 15. Usar a Função Addslashes();  Fazer validações na entrada;  Usar prepared statements;