Buscar

Seguranca-parte7

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Mario João Jr. 
mjoaojr@gmail.com 
 Conceitos 
 Princípios de Criptografia 
 Segurança de Aplicações Web 
 Principais Mecanismos de Defesa 
 Burlando Controles no Cliente 
 Atacando a Autenticação 
 Atacando o Banco de Dados 
 
 
 
 
Ementa 
Administração e Segurança de Redes 2 Prof. Mario João Jr. 
 
 Quase todas as aplicações dependem de um banco de 
dados para gerenciar os dados que são 
processados ​​dentro da aplicação 
 
 Os bancos de dados evoluíram para se tornar mais do 
que recipientes passivos para dados 
Atacando o Banco de Dados 
Administração e Segurança de Redes 3 Prof. Mario João Jr. 
 
 As aplicações usam o mesmo nível de privilégio para 
todos os tipos de acesso ao banco de dados 
 
 Se um atacante pode interferir na interação da 
aplicação com o banco de dados, pode acessar ou 
modificar os dados... 
Atacando o Banco de Dados 
Administração e Segurança de Redes 4 Prof. Mario João Jr. 
 Aplicações Web são, na maioria dos casos, 
implementadas em liguagens interpretadas 
 Linguagens cujo código é executado por um 
interpretador 
 
 Por isso surge uma forma de explorar falhas dessas 
linguagens chamada injeção de código 
 O código que os interpretadores processam é uma 
mistura das instruções escritas pelo programador e os 
dados fornecidos pelo usuário 
Atacando o Banco de Dados 
Administração e Segurança de Redes 5 Prof. Mario João Jr. 
Injetando em Contextos Interpretados 
 
 Um atacante pode enviar uma entrada de dados 
forjada 
 Usando uma sintaxe que tem um significado especial 
dentro da linguagem interpretada 
 
 Uma parte desta entrada é interpretada como 
instruções do programa e são executadas 
Atacando o Banco de Dados 
Administração e Segurança de Redes 6 Prof. Mario João Jr. 
Injetando em Contextos Interpretados 
 
 Ignorando o login 
 SELECT * FROM users WHERE username = ‘marcus’ and 
password = ‘secret’ 
 E se o campo username fosse: 
 admin’-- 
 
 a aplicação vai executar a seguinte query 
SELECT * FROM users WHERE username = ‘admin’--’ AND 
password = ‘foo’ 
 
 Ou seja 
SELECT * FROM users WHERE username = ‘admin’ 
Atacando o Banco de Dados 
Administração e Segurança de Redes 7 Prof. Mario João Jr. 
Injetando em Contextos Interpretados 
 
 Ignorando o login 
 E se o campo username fosse: 
 ‘ OR 1=1— 
 
 a aplicação vai executar a seguinte query 
SELECT * FROM users WHERE username = ‘‘’ OR 1=1--’ AND 
password = ‘foo’ 
 
 Ou seja 
SELECT * FROM users WHERE username = ‘‘’ OR 1=1 
Atacando o Banco de Dados 
Administração e Segurança de Redes 8 Prof. Mario João Jr. 
Injetando em Contextos Interpretados 
 
 
 SQL é uma linguagem interpretada 
 
 As aplicações web geralmente constroem consultas 
SQL que utilizam dados fornecidos pelo usuário 
 
 Esta falha é uma das vulnerabilidades mais notórias 
que tem afligindo às aplicações web 
 
Atacando o Banco de Dados 
Administração e Segurança de Redes 9 Prof. Mario João Jr. 
Injetando Código SQL 
 SELECT 
 O ponto de entrada para ataques de injeção SQL, 
normalmente é a cláusula WHERE da consulta 
 Como a cláusula WHERE é o componente final de uma 
consulta SELECT 
 Permite a um atacante usar um comentário para truncar a 
consulta 
 Pode-se utilizar também a cláusula ORDER BY 
 
$pass = $_GET['pass']; 
$password = mysql_query("SELECT password FROM users 
WHERE password = '". $pass . "';"); 
Atacando o Banco de Dados 
Administração e Segurança de Redes 10 Prof. Mario João Jr. 
Injetando Código SQL 
 INSERT 
 São usados ​​para criar uma nova linha de dados em uma 
tabela 
 
 Uma aplicação pode permitir que os usuários se auto-
registrem 
INSERT INTO users (username, password, ID, privs) VALUES 
('daf', 'secret', 2248, 1) 
 
 Injetando no username, o atacante pode enviar: 
foo ' , ' bar ' , 9999, 0) -- 
 
Atacando o Banco de Dados 
Administração e Segurança de Redes 11 Prof. Mario João Jr. 
Injetando Código SQL 
 UPDATE 
 São utilizados para modificar uma ou mais linhas de 
dados existentes dentro de uma tabela 
 
 São frequentemente usados ​​nas funções em que um 
usuário altera o valor de dados que já existem 
UPDATE users SET password = 'newsecret' WHERE username = 
'marcus' and password = 'secret' 
 
 Injetando no username, o atacante pode enviar: 
admin' -- 
 
Atacando o Banco de Dados 
Administração e Segurança de Redes 12 Prof. Mario João Jr. 
Injetando Código SQL 
 DELETE 
 São usados para excluir uma ou mais linhas de dados em 
uma tabela 
 
 Exemplo: 
 Usuários removem um item do seu carrinho de compras 
 
 Os ataques são feitos a cláusula WHERE do comando 
 
Atacando o Banco de Dados 
Administração e Segurança de Redes 13 Prof. Mario João Jr. 
Injetando Código SQL 
 UNION 
 Combina os resultados de diversas consultas SQL 
 
 As consultas devem ter o mesmo número de colunas 
 Quando isso não ocorrem um erro é gerado 
 
 Para descobrir o número de colunas, pode-se ir 
acrescentado colunas até que não haja mais erro 
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 
-- 
 
 
Atacando o Banco de Dados 
Administração e Segurança de Redes 14 Prof. Mario João Jr. 
Injetando Código SQL

Continue navegando