palestra - confraria 0day 2015 - fatos e mitos sobre desenvolvimento seguro
TRANSCRIPT
- 1. Fatos e mitos sobre desenvolvimento seguro O que a internet diz...
- 2. Quem sou... Desenvolvedor Web Pesquisador e Entusiasta da Segurana da Informao Aszone Amazonense... Da terra da Mangaba =)
- 3. Introduo Quando temos dvida, onde recorremos ? Antes enciclopdia, hoje temos Google/Bing/Yandex/Baidu. Qual a principal diferena? Agora as referncias tambm tm equivocos e erros.
- 4. Mitos
- 5. Mitos "Nem tudo que reluz ouro" Nem todo site relevante tem verdade plena "A pressa inimiga da perfeio" Rapidez pode ser o seu pior inimigo, com crt+c | crt+v "As aparncias enganam" Teste nunca demais, ataque seu cdigo
- 6. Falhas
- 7. Sql Injection Insero de uma srie de instrues SQL dentro de uma consulta (query) para retorno de qualquer tipo de dados que no era para ser retornado.
- 8. Sql Injection Resultado da pesquisa "Anti sql injection":
- 9. Sql Injection Resultado da pesquisa "Anti sql injection": http://www.scriptbrasil.com.br/forum/topic/168609-funcao-anti-sql-injection/ http://forum.imasters.com.br/topic/125349-anti-sql-injection/ http://forum.imasters.com.br/topic/276729-seguranca-em-php/ http://phpbrasil.com/artigo/v5Ejt4VOld2r/anti-sql-injection--solucao-global http://eniomarcelobuza.blogspot.com.br/2012/08/php-funcao-anti-sql- injection.html http://www.vivaolinux.com.br/script/Funcao-Anti-MySQL-Injection-Proteja-sua- aplicacao https://discussion.dreamhost.com/thread-134658.html
- 10. Sql Injection Usando SqlMap SqlMap uma ferramenta que automatiza o processo de detectar e explorar as falhas de injeo SQL.
- 11. Sql Injection Vamos aos testes ?
- 12. Sql Injection Free Hand Agora fazendo tratamento nas querys manualmente, para dar bypass nas solues propostas.
- 13. Sql Injection Segredo do Bypass: *_replace => Age na identificao de algum item setado e altera por outro parametro que desejar. Exemplo: Select login,senha from tabela_x => login,senha tabela_x Bypass: Sele*ct login,senha frofromm tabela_x => Select login,senha from tabela_x
- 14. Fatos
- 15. Fatos Resultado: Soluo do Sql Injection: Se for um id: valide com is_numeric, ou is_bool se for boleano; Se o request for uma string: mysql_real_escape_string();
- 16. Sql Injetcion Resultado: Para id: Para string:
- 17. Fatos Utilizao de frameworks ou cms Utilizao de padres de projetos ( DAO ) Camada de proteo de erros (50*) Aplicao de pentest / code review Implementao de logs e notificaes Filtros nas entradas e sadas de dados Metodologia de desenvolvimento seguro
- 18. Fim [email protected] @lenonleite www.lenonleite.com.br em breve: www.aszone.com.br