"Atacando e Defendendo Aplicações Web" por Rafael Soares Ferreira, Sócio-Diretor técnico do Grupo Clavis Segurança da Informação

  • 1,610 views
Uploaded on

"Atacando e Defendendo Aplicações Web" por Rafael Soares Ferreira, Sócio-Diretor técnico do Grupo Clavis Segurança da Informação

"Atacando e Defendendo Aplicações Web" por Rafael Soares Ferreira, Sócio-Diretor técnico do Grupo Clavis Segurança da Informação

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,610
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
139
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Atacando (e protegendo) aplicações webRafael Soares FerreiraClavis Segurança da Informaçãorafael@clavis.com.br Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 2. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.• InjeçõesOWASP Top 10 2010 - A1OWASP Top 10 2007 - A2• Cross Site Scripting (XSS)OWASP Top 10 2010 - A2OWASP Top 10 2007 - A1 Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 3. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções• Dados não esperados• Strings interpretadas como comandos• SQL, Shell, LDAP, etc...• SQL é o caso mais comum Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 4. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos Client-Side: <form method="post" action="http://SITE/login.php"> <input name="nome" type="text" id="nome"> <input name="senha" type="password" id="senha"> </form> Server-Side: SELECT id FROM usuarios    WHERE nome = $nome      AND senha = $senha ; Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 5. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos Client-Side: O Exploit!  OR a=a Server-Side: SELECT id FROM usuarios    WHERE nome = $nome      AND senha =  OR a=a ; Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 6. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosCódigo PHP:$query = "SELECT * FROM usuarios WHERE username =" . $_REQUEST[‘usr] . “’ AND passwd=‘“ . $_REQUEST[‘pwd’] . “’”;Exploração:login.php?usr=’+OR+‘1’=‘1’--&pwd=aquery <- SELECT * FROM usuarios WHERE username =‘’+OR+‘1’=‘1’--’ AND passwd=‘a’ Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 7. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosCódigo Java:String query = "SELECT * FROM usuarios WHEREusername = " + req.getParameter("usr") + " andpasswd = " + req.getParameter("pwd") +"";Exploração:login.jsp?usr=admin’--&pwd=aquery <- SELECT * FROM usuarios WHERE username =‘admin’--’ AND passwd=‘a’ Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 8. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos www.seginfo.com.br Tradução da Tirinha “Exploits of a mom” do xkcd Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 9. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Exemplos• Injeção de Comandos• Exemplo:DNS lookup em domínios passados pelousuário Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 10. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosCódigo:$dominio = param(‘dominio);$nslookup = "/usr/bin/nslookup";Exploit:clavis.com.br%20%3B%20/bin/ls%20-l Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 11. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - ExemplosResultado:/usr/bin/nslookup clavis.com.br ; /bin/ls -lAlém do resultado do nslookup, oatacante receberá a lista dos arquivosque estão no diretório da aplicação Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 12. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Injeções - Recomendações● Tratamento de entradas● Validação por whitelist● Minimize os privilégios●OWASP:SQL_Injection_Prevention_Cheat_Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 13. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• Enviados ao browser do usuário• Posts, URLs, javascript, etc...• Todo Browser é “vulnerável”:javascript:alert(document.cookie)• Redirecionamento e/ou roubo de dados Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 14. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 15. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)Tipos:• Persistente• Não Persistente Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 16. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• PersistenteDados enviados sem tratamento parausuários Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 17. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 18. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• Não PersistenteDados enviados de volta sem tratamentoe executado no browser da vítima. Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 19. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS) Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 20. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)• Código vulnerável<?phpecho “Hello ” . $_GET[‘name’] . ”.n”;?>• Requisiçãoindex.php?name=<script>alert(1)</script> Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 21. Principais Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.Cross-Site Scripting (XSS)● Validação de entrada● Validação de saída● Validação de elementos do DOM●OWASPXSS Prevention Cheat Sheet Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 22. Outras Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.● Quebra de Autenticação / Sessão• Referência direta à objetos• Cross-Site Request Forgery (CSRF)• Falhas de Configuração Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 23. Outras Ameaças Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.● Armazenamento Inseguro• Falha na Restrição de Acesso à URLs• Canal Inseguro• Redirecionamentos Não-Validados Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 24. Referências Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados.● OWASP Top 10https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project• OWASP Testing Guidehttps://www.owasp.org/index.php/Category:OWASP_Testing_Project Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 25. Dúvidas? Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados. Perguntas? Críticas? Sugestões? Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.
  • 26. Fim... Copyright © 2009 Clavis Segurança da Informação. Todos os direitos reservados. Muito Obrigado! Rafael Soares Ferreira rafael@clavis.com.br @rafaelsferreira Copyright © 2011 Clavis Segurança da Informação. Todos os direitos reservados.