2. Sobre mim
➔ Desenvolvedor PHP desde 2004
➔ Zend Certified Engineer PHP 5.3
➔ Zend Framework Certified
➔ Pós Graduado em Engenharia de Projetos de Software
➔ Sócio-Proprietário na Ilha Web (www.ilhaweb.net)
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
3. O que iremos abordar?
➔ Como acontecem os principais ataques a aplicações PHP;
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
4. O que iremos abordar?
➔ Como acontecem os principais ataques a aplicações PHP;
➔ Como se previnir;
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
5. O que iremos abordar?
➔ Como acontecem os principais ataques a aplicações PHP;
➔ Como se previnir;
➔ Ferramentas de diagnóstico (e de ataque);
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
6. 3 Regras Básicas de Segurança
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
7. 3 Regras Básicas de Segurança
1) Filtre e valide os dados de entrada;
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
8. 3 Regras Básicas de Segurança
1) Filtre e valide os dados de entrada;
2) Escape os dados de saída;
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
9. 3 Regras Básicas de Segurança
1) Filtre e valide os dados de entrada;
2) Escape os dados de saída;
3) Nunca confie em seus usuários;
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
11. XSS – Cross-Site Scripting
Injeção de código HTML, CSS ou
Javascript em uma página.
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
12. XSS – Cross-Site Scripting
O javascript representa a maior ameaça por possibilitar:
1) Redirecionar o usuário para outra página;
2) Modificar a página;
3) Ler os cookies.
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
13. XSS – Cross-Site Scripting
Mas como acontece?
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
14. XSS – Cross-Site Scripting
Mas como acontece?
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
20. SQL Injection
Injeção de uma instrução SQL
através de parâmetros recebidos
pela por um sistema.
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
32. Email Injection
Como acontece:
Campo nome:
José da Silva <josedasilva@provedor.com>nBcc <email2@provedor.com>,
<email3@provedor.com>, <email4@provedor.com>
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
33. Email Injection
Como evitar:
➔ Valide o email do usário;
➔ Não use mail() para enviar email;
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
34. Ferramentas de Diagnóstico
XSS Me
https://addons.mozilla.org/en-US/firefox/addon/xss-me/
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
35. Ferramentas de Diagnóstico
SQL Inject Me
https://addons.mozilla.org/en-US/firefox/addon/sql-inject-me
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
36. Ferramentas de Diagnóstico
Skipfish
http://code.google.com/p/skipfish/downloads/list
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
37. Ferramentas de Diagnóstico
Acunetix (free edition)
http://www.acunetix.com/cross-site-scripting/scanner.htm
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012
38. Ferramentas de Diagnóstico
ZAP
code.google.com/p/zaproxy/
PHPSC Conference 2012 – Segurança em aplicações PHP - @rosantoz – 27/10/2012