SlideShare uma empresa Scribd logo
1 de 22
Segurança em PHP
Flávio Augusto da Silveira
Flávio Silveira
• Análise e Desenvolvimento
• Tecnologia e Pessoas
• Games
• Comunidade e Livre conhecimento
Segurança
Preguiça
Postura de defesa
• Usuário logado Vs. Usuário não logado
• Filtros
• Limites
• Erros
Segurança em
internet
• SSL / TLS
• Certificados
Como configurar bem
um servidor?
É seguro?
Estrutura do projeto
• Separar o `pode ser visto` do `ñ pode
ser visto`
• Arquivos não processados
• Esconder URL
Register Globals
www.flaviosilveira.com?authorized=true
if ($authorized) {
// Do something
}
Display Errors
Outras
• Disable Functions
• Disable Classes
• Expose PHP
Formulários
Variáveis externas
• is_int, is_object
• Register Globals
• $_REQUEST
Outros
• Validar tipos de arquivos
• Captcha Vs. Captcha inverso
• Armazenamento de senhas
Banco de dados
admin’#
SELECT * FROM users WHERE login = ‘admin’# AND..
Tecnologia
antipirataria
Flávio Augusto da
Silveira
- flavioaugustosilveira@gmail.com
- @flaviosilveira
OBRIGADO!

Mais conteúdo relacionado

Semelhante a Segurança em php

SQL Server ES - Visão geral sobre segurança
SQL Server ES - Visão geral sobre segurançaSQL Server ES - Visão geral sobre segurança
SQL Server ES - Visão geral sobre segurançaDirceu Resende
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Clavis Segurança da Informação
 
Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalJefferson Costa
 
Visão geral da segurança em Java EE
Visão geral da segurança em Java EEVisão geral da segurança em Java EE
Visão geral da segurança em Java EEHelder da Rocha
 
Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...
Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...
Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...Magno Logan
 
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...Dirceu Resende
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...Clavis Segurança da Informação
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQuality Press
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityMarlon Bernardes
 
CWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenCWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenPOANETMeetup
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
Gambiarra e PHP. Por que você deveria usar um WAF?
Gambiarra e PHP. Por que você deveria usar um WAF?Gambiarra e PHP. Por que você deveria usar um WAF?
Gambiarra e PHP. Por que você deveria usar um WAF?Sucuri
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebMagno Logan
 
AppSec Latam 2011 - Segurança em Sites de Compras Coletivas
AppSec Latam 2011 - Segurança em Sites de Compras ColetivasAppSec Latam 2011 - Segurança em Sites de Compras Coletivas
AppSec Latam 2011 - Segurança em Sites de Compras ColetivasMagno Logan
 

Semelhante a Segurança em php (20)

SQL Server ES - Visão geral sobre segurança
SQL Server ES - Visão geral sobre segurançaSQL Server ES - Visão geral sobre segurança
SQL Server ES - Visão geral sobre segurança
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense Computacional
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Visão geral da segurança em Java EE
Visão geral da segurança em Java EEVisão geral da segurança em Java EE
Visão geral da segurança em Java EE
 
Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...
Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...
Co0L 2011 - Segurança em Sites de Compras Coletivas: Vulnerabilidades, Ataqu...
 
V SEGINFO - “Auditoria de Aplicações Web”
V SEGINFO - “Auditoria de Aplicações Web”V SEGINFO - “Auditoria de Aplicações Web”
V SEGINFO - “Auditoria de Aplicações Web”
 
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
SQL Saturday #844 - Belo Horizonte - Segurança no SQL Server: Você está deixa...
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
Qualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHPQualitypress - Segurança em Aplicações Web com PHP
Qualitypress - Segurança em Aplicações Web com PHP
 
OWASP TOP 10 - Web Security
OWASP TOP 10 - Web SecurityOWASP TOP 10 - Web Security
OWASP TOP 10 - Web Security
 
OWASP Top Ten
OWASP Top TenOWASP Top Ten
OWASP Top Ten
 
CWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top TenCWI - Núcleo de tecnologia - OWASP Top Ten
CWI - Núcleo de tecnologia - OWASP Top Ten
 
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 01 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
Floripa on Rails - Security Tips
Floripa on Rails  - Security TipsFloripa on Rails  - Security Tips
Floripa on Rails - Security Tips
 
Api todo list
Api todo listApi todo list
Api todo list
 
Gambiarra e PHP. Por que você deveria usar um WAF?
Gambiarra e PHP. Por que você deveria usar um WAF?Gambiarra e PHP. Por que você deveria usar um WAF?
Gambiarra e PHP. Por que você deveria usar um WAF?
 
ENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na WebENSOL 2011 - OWASP e a Segurança na Web
ENSOL 2011 - OWASP e a Segurança na Web
 
AppSec Latam 2011 - Segurança em Sites de Compras Coletivas
AppSec Latam 2011 - Segurança em Sites de Compras ColetivasAppSec Latam 2011 - Segurança em Sites de Compras Coletivas
AppSec Latam 2011 - Segurança em Sites de Compras Coletivas
 

Segurança em php

Notas do Editor

  1. - Conceitos básicos de segurança - A idéia é pegar seu conhecimento de PHP e adicionar um pouco mais de preocupação quanto a segurança. Vamos passar por alguns pontos e exemplos onde meu desejo é dar um gatilho na cabeça das pessoas. Não necessáriamente explicar profundamente, mas plantar a curiosidade. - Vamos comentar segurança na vida, em desenvolvimento, na internet, no php e banco de
  2. SEGURANÇA DE MANEIRA GERAL - O que é segurança para cada um de nós? Segurança é vida - Quando vc entra em um lugar vc procura a saída de emergência? - Vc sai com o carro sem dar manutenção ? - Você passa por uma rua escura ? Computador
  3. NO DESENVOLVIMENTO - Um dos maiores problemas :: Preguiça Porque? - Retrabalho - Cansado de não conseguir / Segunda eu arrumo
  4. - Devemos adotar uma Postura de defesa - A gente costuma se preocupar sempre com o usuário logado, e muitas vezes esquece do usuário ilegítimo, vc não passa na tela de login, mas com conhecimento de urls internas acessa o produto. - Falte de filtro de dados : Preguiça : Apenas no front, apenas no back, no banco de dados - Limitar acessos - Exibição de erros
  5. - Interceptadores: Web é transmissão de informação, geralmente entre um servidor e um cliente - Servidores mal configurados podem vazar informação
  6. - HTTPS :: - é o HTTP Seguro, um HTTP com algoritmos criptografados - Criptografia - Criptografias :: SSL : é o mais usado :: 9 passos (Client Hello, Server Hello) TLS : baseado no SSL
  7. - Como configurar bem um servidor? - Coisa de infra-estrutura? Conhecer o local onde vc deixa seus filhos, seus cachorros. Ao menos o mínimo - Usuário não pode executar o que bem entender no servidor Qual o usuário que executa no servidor quando roda um site que você acessa? Não é raro encontrar definições de servidores com root. /etc/passwd confira seu usuário. - Bloquear detalher do Telnet, Bloquear Ping
  8. - Conheça o seu servidor web, Apache, NGinX. Ambos tem uma estrutura para garantir segurança (logs, módulos, definição do local de arquivos) que é importante ser compreendida para se defender.
  9. - PHP é seguro ? :: - O que vocês acham? Uma linguagem por si só não pode ser considerada segura ou insegura, apesar de algumas vulnerabilidade que as vezes escapam, A segurança de maneira geral depende de todo o projeto e do código do programa. Cautela em gastos com segurança, usabilidade. Não projetar a coisa de uma maneira absurda, onde seja impagável e também não complicar demais onde não seja possível usar ele.
  10. - Estrutura do projeto :: - Separar o que não pode ser visto de forma alguma, do que sempre será visualizado - Arquivos que não são processados pelo servidor / TXT, INC, LOG Permissão nas pastas. A maioria dos frameworks tratam isso, mas … Zend 1 freela - Esconder URL para esconder estrutura (modrewrite, função para esconder .php pegar o request e tratar)
  11. - Configurar bem um servidor PHP é checar sua Configuração do PHP
  12. - Configurar bem um servidor PHP é checar sua Configuração do PHP- Display errors - Log Errors ERROR REPORTING
  13. - Formulários :: - Problemas com formulários: Upload de arquivos com vírus XSS - exemplo script no admin Injeção de código ou ainda SQL Injection (exemplo a frente)
  14. - Pensar em variáveis externas com segurança (Tipagem, Filtrar valor)
  15. - Validar tipos de arquivo em upload - CAPTCHA, CAPTCHA Inverso (Menos recursos)
  16. Onde existe PHP, existe banco de dados.. nõa necessáriamente mas quase sempre - Coisa de DBA? - Cuidados com Exposição dos dados de acesso.. falhas que mostram arquivos conf, inc - Bloquear acesso por IP e fazer acesso via rede interna
  17. SQL Injection Quando um usuário não autorizado roda uma Query no seu banco de dados. - Formulário de Login
  18. CONCLUSÃO - “Tecnologia anti pirataria” - Ambiente 100% seguro - Quem já se deparou com isso? O que garante esse 100% ? - Deu certo ? Esse exemplo nos demonstra que devemos sempre nos atualizar, por mais que a gente gaste e invista em segurança ele deve sempre se atualizar.
  19. Segurança nunca é assunto esgotado.. - Ler para estar atento a vulnerabilidade descobertas - Oferecer prêmios para quebras de segurança - Seguir padrões de segurança da informação (RFC 2196, ISO, PCI, OWASP)
  20. - Espero que tenham aprendido algo aqui comigo, vou abrir para perguntas.. Obrigado