Sdddd
- Uma visão prática Prof. Me. Carlos Nilton A. Corrêa http://www.carlosnilton.com.br/ carlos.nilton@gmail.com
@cnacorrea
Objetivo
• Conhecer, descrever e realizar baseados na Web: roubo de sessões, XSS, XSRF, XSSI.
• Também são apresentados ataques na camada de aplicação: SQL Injection, directory traversal, injeção de comandos, overflows.
Vulnerabilidades da web
Fonte: Projeto OWASP
Information leakage?
• Consultas no Google!
– Podem equivaler a um “nmap da web”
dom: ext:
SQL Injection
• Em sua forma mais básica, um ataque em que um formulário (ou outra forma de entrada) é preenchido com informações que interferem no fluxo de execução de consultas de um banco de dados
• Frequentemente aplicado em etapas de login. Também é comum que um desenvolvedor, equivocadamente, proteja apenas esta seção de um sistema web contra injeções – quando o correto é que se assegure todo o código.
Exemplo básico
• Isto: SELECT * FROM Bugs WHERE bug_id = $_GET['bugid'];
• Pode resultar nesta instrução!
SELECT * FROM Bugs WHERE bug_id = 1234 OR TRUE;
Um caso pior!
UPDATE Accounts SET password = SHA2('$password') WHERE account_id = $account_id; • Vira... UPDATE Accounts SET password = SHA2('xyzzy', admin='1') WHERE account_id = 1234 OR TRUE
Um caso grave...
http://hmsec.tumblr.com/
Directory traversal
• Tipo de ataque que faz com que uma aplicação web acesse um arquivo não-desejado • Ocorre quanto um programa do tipo (geralmente um CGI) não trata adequadamente seus parâmetros de entrada
• Se um dos parâmetros indica um nome de arquivo, é possível manipulá-lo para que aponte para arquivos arbitrários no sistema do servidor
Exemplo básico (PHP/Linux)
• Suponha um script que suporte isto: • http://www.xxx.com/members/seepic.cgi?arq=001.j pg
Imagine agora este acesso...
http://www.xxx.com/members/seepic.cgi?arq=.. /../../../../../../../../../etc/passwd
Directory traversal no Windows
• O