Lidando com Armazenamento de Dados

Tamanho: px
Começar a partir da página:

Download "Lidando com Armazenamento de Dados"

Transcrição

1 Lidando com Armazenamento de Dados Paulo Ricardo Lisboa de Almeida 1

2 Armazenamento de Dados A grande maioria das aplicações possuem algum mecanismo para armazenagem de dados Dados de usuários Permissões Configurações... 2

3 Injeção em Contextos Interpretados Muitas das ferramentas utilizadas para comunicação com repositórios de dados são interpretadas Ex.: SQL, LDAP Exposição a vulnerabilidades do tipo Code Injection Geralmente uma injeção de código pode ser feita devido a uma falha de validação de input 3

4 Exemplo com SQL SELECT * FROM users WHERE username = meulogin and password = senha No exemplo, se a consulta retornar um resultado, é considerado que o usuário existe no banco de dados com aquele login e senha Login efetuado com sucesso Observações Em SQL, strings devem ficar entre aspas simples ( ) Comentários no código sql são adicionados pela sequência -- ou # dependendo do SQBD 4

5 Exercício Considere o exemplo do slide anterior e descreva possíveis formas de se passar pelo sistema de login considerando: Que você sabe que existe um usuário de login Alice, mas que você não sabe a senha Que você não possui nem o login nem a senha de nenhum usuário Você pode utilizar uma das seguintes aplicações demo para fazer seus testes: Obs.: No interpretador da aplicação # ou -- representa um comentário 5

6 Exercício Dependendo da sequência que digitarmos nos campos de entrada, obtemos uma mensagem de erro. Ex.: user name: '#sadsad O que isso nos revela? 6

7 Exercício Dependendo da sequência que digitarmos nos campos de entrada, obtemos uma mensagem de erro. Ex.: user name: '#sadsad O que isso nos revela? Uma string incorreta foi capaz de gerar um erro no sistema Logo, o sistema está interpretando comandos dessa string Não conseguimos burlar a segurança, mas estamos no caminho certo!!! 7

8 Exercício Algumas soluções Inserir no campo User Name o valor usuario Inserir qualquer coisa na senha SELECT * FROM users WHERE username = 'usuario1234'--' AND password = 'foo' 8

9 Exercício Algumas soluções Inserir no campo User Name o valor usuario1234 Inserir na senha OR 1=1 SELECT * FROM users WHERE username = 'usuario1234' AND password = '' OR 1=1; 9

10 Exercício Algumas soluções Inserir no campo User Name o valor OR 1=1-- Inserir qualquer coisa na senha SELECT * FROM users WHERE username = '' OR 1=1--' AND password = 'foo' 10

11 Até onde Podemos Chegar? Algumas soluções Em user name: ' or 1=1) UNION ALL SELECT users.* FROM users# O que o Union All pode possibilitar? 11

12 Algumas soluções Em user name: ' or 1=1) UNION ALL SELECT users.* FROM users# O que o Union All pode possibilitar? Se conseguirmos imprimir o resultado dessa consulta na tela, podemos ter uma lista de todos usuários do sistema Podemos criar variantes mais perigosas ' or 1=1) UNION ALL select * from information_schema.tables# Obs.: Devemos casar o número de colunas do select para o Union All Funcionar 12

13 SQL Injection Aplicações Web geralmente constroem SQLs dinamicamente através dos dados inseridos pelos usuários Falhas de segurança podem tornar o sistema vulnerável a SQL Injection O exercício anterior explorava SQL Injection através do campo login e senha de uma aplicação vulnerável Em alguns casos uma SQL Injection pode permitir ao atacante: Ler e alterar qualquer dado no banco Obter acesso ao banco e ao servidor do banco de dados como um todo!!! 13

14 SQL Injection Com SQL Injection podemos recuperar informações arbitrárias do sistema Select Inserir informações no banco de dados Insert Ex.: Podemos inserir um novo login e senha no banco para podemos logar quando quisermos Modificar informações no banco de dados Update Ex.: Podemos modificar a senha do usuário admin 14

15 SQL Injection Vulnerabilidade Básica Preconceito contra Joana D'Arc Pode impedir que um usuário comum entre no sistema Qual o problema? SELECT * FROM users WHERE username = meulogin and password = senha 15

16 SQL Injection Vulnerabilidade Básica Preconceito contra Joana D'Arc Pode impedir que um usuário comum entre no sistema Qual o problema? Como Solucionar? SELECT * FROM users WHERE username = 'Joana D'Arc' and password = 'senha'; SELECT * FROM users WHERE username = meulogin and password = senha 16

17 SQL Injection Vulnerabilidade Básica Preconceito contra Joana D'Arc Muitos desenvolvedores podem ser tendenciosos em fazer uma sanitização simples da entrada Ex.: colocar um caractere de escape nas aspas Entrada: Joana D'Arc Depois da Sanitização: Joana D\'Arc Um usuário comum de nome Joana D'Arc agora pode utilizar o sistema. Mas ainda temos uma falha grave de segurança. Como burlar esse sistema? 17

18 SQL Injection Vulnerabilidade Básica Preconceito contra Joana D'Arc Muitos desenvolvedores podem ser tendenciosos em fazer uma sanitização simples da entrada Ex.: colocar um caractere de escape nas aspas Entrada: Joana D'Arc Depois da Sanitização: Joana D\'Arc Um usuário comum de nome Joana D'Arc agora pode utilizar o sistema. Mas ainda temos uma falha grave de segurança. Como burlar esse sistema? Entrada: Joana D\'Arc Depois da Sanitização: Joana D\\'Arc 18

19 Como Prevenir SQL Injections? Sanitização das entradas Solução Parcial Pode impedir alguns ataques, mas os algoritmos de sanitização sempre são propensos a falhas 19

20 Como Prevenir SQL Injections? Stored Procedures Solução parcial Criam-se as Sqls estáticas no banco de dados para inserção, por exemplo. Problemas SQL Injections ainda são possíveis em Stored Procedures, principalmente se elas tiverem problemas de desgn Pode ser considerada uma má prática de desenvolvimento do ponto da Eng. De Software Custo de desenvolvimento 20

21 Queries Parametrizadas Os parâmetros sempre serão interpretados como dados, e nunca como sendo parte da estrutura da consulta. A estrutura da consulta foi definida no primeiro passo A API do banco de dados (driver) garante que qualquer placeholder definido será tratado de maneira segura Interpretado sempre como um dado 21

22 Como Prevenir SQL Injections? Queries Parametrizadas (Parametrized Queries) Solução efetiva que geralmente pode ser utilizada String sql = "insert into pessoa (cpf,nome,nascimento) values (?,?,?)"; PreparedStatement statement = connection.preparestatement(sql); statement.setint(1, cpf); statement.setstring(2, nome); 22

23 Queries Parametrizadas O comando é construído em dois passos: A estrutura da consulta é definida, deixando-se alguns espaços reservados (placeholders) para as entradas de usuário Os conteúdos dos espaços reservados é especificado pela aplicação String sql = "insert into pessoa (cpf,nome,nascimento) values (?,?,?)"; PreparedStatement statement = connection.preparestatement(sql); statement.setint(1, cpf); statement.setstring(2, nome); 23

24 Queries Parametrizadas Os parâmetros sempre serão interpretados como dados, e nunca como sendo parte da estrutura da consulta. Por quê? 24

25 Queries Parametrizadas Os parâmetros sempre serão interpretados como dados, e nunca como sendo parte da estrutura da consulta. A estrutura da consulta foi definida no primeiro passo A API do banco de dados (driver) garante que qualquer placeholder definido será tratado de maneira segura Interpretado sempre como um dado 25

26 Queries Parametrizadas Para que as queries parametrizadas tenham efeito, temos que manter em mente que: Todas consultas no sistema devem ser parametrizadas Todos itens de dados inseridos devem ser parametrizados De nada adianta parametrizar alguns itens, e outros não Placeholders devem ser utilizados somente para especificar os dados, e nunca a estrutura da consulta Ex:. Não devem ser utilizados para especificar colunas, tabelas, schemas, 26

27 Demais Mecanismos de Defesa A aplicação deve ter o menor nível de privilégios possível para acessar o banco de dados Se a aplicação somente precisa consultar informações no banco, e nunca inserir ou atualizar, deve-se criar um usuário no banco que possa somente fazer consultas que será utilizado pela aplicação A aplicação nunca deve ter privilégios de root (administrador) no banco de dados Desabilitar as funcionalidades do banco de dados que não são utilizadas Ex.: o banco pode ter uma funcionalidade serializar os dados via SOAP, que não é utilizada pela aplicação Aplicar patches de correção no banco de dados recomentados pelo fabricante 27

28 Exercício (Valor 1,0) Considere o banco de dados da imagem que contém somente a tabela pessoa Crie uma aplicação que insira, atualize e remova os dados nessa tabela utilizando a linguagem de sua preferência e queries parametrizadas A grande maioria das linguagens oferece drivers para conexão com bancos de dados utilizando queries parametrizadas Java (JDBC),.Net, C++, PHP, Utilize o banco de Dados de sua preferência PostgreSQL, HSLQDB, Oracle, Os scripts para criação de um banco HSQLDB, bem como uma aplicação de exemplo encontram-se no site da disciplina 28

29 Exercício (Valor 1,0) Exemplos: Insert: insert into pessoa (cpf,nome,nascimento) values (?,?,?) Update: update pessoa set cpf =?, nome =?, nascimento =? where pessoa_id =? Delete delete from pessoa where pessoa_id =? 29

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros Conexão com Banco de Dados, Inserção, exclusão e atualização de registros Vamos criar um banco de dados no MySQL. Inicie o WampServer Abra o HeidSQL Crie o código SQL para criar o banco de dados e a tabela.

Leia mais

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store

Leia mais

Aula Prática JBCD - Introdução

Aula Prática JBCD - Introdução Aula Prática JBCD - Introdução Paulo Ricardo Lisboa de Almeida 1 Instanciando a aplicação Clone o projeto da aula passada com o Git (disponível no site da disciplina) Suba o banco de dados Crie as tabelas

Leia mais

Java DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA

Java DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA Java DataBase Connectivity - JDBC Ramon Lopes Embaixador de Campus Sun - UFBA 1 Agenda O que é um BD? Introdução SQL JDBC Padrões de Projetos Projeto Final Sun Confidential: Internal Only 2 O que é um

Leia mais

Banco de Dados SQL injection

Banco de Dados SQL injection Universidade Estadual de Mato Grosso do Sul Curso de Computação, Licenciatura Banco de Dados SQL injection '1 = 1 Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com SQL Injection - Introdução Injeção

Leia mais

Cross-Site Scripting. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Cross-Site Scripting. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo Cross-Site Scripting Paulo Ricardo Lisboa de Almeida 1 Cross-Site Scripting - XSS Foco no ataque aos usuários finais O servidor não é diretamente afetado Dificuldade na detecção dos ataques Podem comprometer

Leia mais

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL Ciência da Computação GBC043 Sistemas de Banco de Dados Java Database Connectivity JDBC PostgreSQL JDBC Diferentes SGBD possuem diferentes formas de se comunicar com uma aplicação Aplicação Java Profa.

Leia mais

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função .1 JDBC A linguagem Java possui classes que permitem a com um banco de dados. Essas classes fazem parte do pacote JDBC (Java Database Connectivity), uma API (Application Program Interface) que permite

Leia mais

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos

Leia mais

Autenticação Segura. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Autenticação Segura. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo Autenticação Segura Paulo Ricardo Lisboa de Almeida 1 Sistemas de Autenticação Um dos mais simples e mais empregados métodos de segurança implementados em aplicações Primeira linha de defesa Apesar de

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Segurança em Sistemas de Banco de Dados César Alberto da Silva Presidente Epitácio, 18 de Setembro de 2013 Agenda Por que proteger os dados?

Leia mais

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Oracle Database 10g: Fundamentos de SQL e PL/SQL Oracle University Contact Us: 0-800-167225 Oracle Database 10g: Fundamentos de SQL e PL/SQL Duration: 5 Dias O que é que gostaria de aprender Conheça os fundamentos de SQL e PL/SQL usando o SQL Developer

Leia mais

IMPLEMENTAÇÃO DE BANCO DE DADOS

IMPLEMENTAÇÃO DE BANCO DE DADOS IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão

Leia mais

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS Técnicas e Linguagens para Banco de Dados I ACCESS Criando um Banco de Dados 1 2 3 4 5 6 7 8 Tipos de Relações existentes nos Bancos de Dados Relacionamentos 1 1 Um para Um : neste tipo de Relação,

Leia mais

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional

Leia mais

Quando a máquina terminar o arranque e lhe pedir as credenciais para entrar, introduza as seguintes:

Quando a máquina terminar o arranque e lhe pedir as credenciais para entrar, introduza as seguintes: Segurança Informa tica e nas Organizaço es Vulnerabilidades na Web (V1.1) Este trabalho deve ser realizado na máquina virtual Ubuntu10tm que pode descarregar de ftp://www.ieeta.pt/avzdatastore/vulnerable%20linux/ubuntu10tm.zip,

Leia mais

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br JSP (Java Server Pages) - JavaServer Pages (JSP) - Tecnologia de programação serverside - Permite

Leia mais

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

Segurança Informática e nas Organizações. Guiões das Aulas Práticas Segurança Informática e nas Organizações Guiões das Aulas Práticas André Zúquete 1 e Hélder Gomes 2 1 Departamento de Eletrónica, Telecomunicações e Informática 2 Escola Superior de Tecnologia e Gestão

Leia mais

C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S

C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S Para desenvolver um sistema que utilizará um banco de dados, precisamos estabelecer uma conexão entre a linguagem

Leia mais

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Conectar PHP com MySQL Comandos PHP para acesso ao MySQL Utilizando comandos no

Leia mais

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP Banco de dados POO Márcio Delamaro 1/37 Objetivo Nesta aula vamos dar uma breve introdução do que é um Banco de dados relacional Como acessar um banco de dados usando Java 2/37 O que é Bancos de dados

Leia mais

Administração de Sistemas Operacionais. Prof. Marlon Marcon

Administração de Sistemas Operacionais. Prof. Marlon Marcon Administração de Sistemas Operacionais Prof. Marlon Marcon SGBD SGBD: Sistema de gerenciamento de banco de dados. é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de

Leia mais

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva. BD II (SI 587) Segurança em Banco de Dados Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco

Leia mais

Manual Prático de Uso do MySQL

Manual Prático de Uso do MySQL Manual Prático de Uso do MySQL Sumário CONSIDERAÇÕES... 3 01 LOGANDO NO MYSQL... 3 02 CADASTRANDO USUÁRIOS NO MYSQL... 4 03 - DEFININDO SENHA PARA O USUÁRIO... 4 04 ALTERANDO A SENHA... 6 Considerações

Leia mais

Aula 06 Sistemas Embarcados LT38C

Aula 06 Sistemas Embarcados LT38C Aula 06 Sistemas Embarcados LT38C Prof. Lucas Ricken Garcia 2017/1 Introdução a Banco de Dados Coleção de dados relacionados. Fatos conhecidos que podem ser registrados e possuem significado implícito.

Leia mais

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação SQL Básica DML Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 22 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 22 de outubro de 2015 1 / 16 1 Introdução 2 SQL DML INSERT SELECT UPDATE

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC Aula 09a- Acessando os dados através JDBC Conteúdo Programático desta aula Compreender os comando existentes para acesso e manipulação de dados nos Bancos de dados Apresentar os dados obtidos no banco

Leia mais

Oracle Database 11g: Introdução à Linguagem SQL Novo

Oracle Database 11g: Introdução à Linguagem SQL Novo Oracle University Contact Us: 0800 891 6502 Oracle Database 11g: Introdução à Linguagem SQL Novo Duration: 5 Days What you will learn Neste curso, os alunos aprendem os conceitos de bancos de dados relacionais.

Leia mais

Curso de Banco de Dados. Prof. Rone Ilídio

Curso de Banco de Dados. Prof. Rone Ilídio Curso de Banco de Dados Prof. Rone Ilídio Introdução BD 1 BD 2 SQL BD 3 Dados Aplicação Sistemas de Gerência de Banco de Dados -SGBD Introdução Aplicação que controla os dados Drives ODBC, BDE, ect SQL

Leia mais

API JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

API JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo API JDBC Paulo Ricardo Lisboa de Almeida 1 JDBC JDBC Java Database Connectivity API Java para conexões com bancos de dados Encontrada dentro de java.sql 2 JDBC Necessário driver JDBC do banco Classes concretas

Leia mais

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

Segurança Informática e nas Organizações. Guiões das Aulas Práticas Segurança Informática e nas Organizações Guiões das Aulas Práticas André Zúquete 1 e Hélder Gomes 2 1 Departamento de Eletrónica, Telecomunicações e Informática 2 Escola Superior de Tecnologia e Gestão

Leia mais

Como criar um banco de dados usando o mysql

Como criar um banco de dados usando o mysql Como criar um banco de dados usando o mysql 1º Passo: Tenha instalado em seu computador o software XAMPP. Clique aqui para fazer o download. 2º Passo: O XAMPP faz a instalação normal, apenas clicando next,

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

A linguagem SQL

A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

BANCO DE DADOS FACSUL 2017 TECNOLOGIA DE REDE DE COMPUTADORES

BANCO DE DADOS FACSUL 2017 TECNOLOGIA DE REDE DE COMPUTADORES BANCO DE DADOS FACSUL 2017 TECNOLOGIA DE REDE DE COMPUTADORES SEGURANÇA Uma das maiores preocupações em computação tem sido segurança da informação Nos dias atuais, com o uso da internet os sistemas tornam-se

Leia mais

Armazendando Senhas Com Funções de Hash

Armazendando Senhas Com Funções de Hash Armazendando Senhas Com Funções de Hash Paulo Ricardo Lisboa de Almeida 1 Função de Hash Mapear uma entrada (string) de tamanho arbitrário para uma saída de tamanho fixo Saída de 128, 256, 512... bits

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

SQL INJECTION: ENTENDENDO E EVITANDO. MAGALHÃES, Felipe. B. ¹, BASTOS, Rafael. R² RESUMO

SQL INJECTION: ENTENDENDO E EVITANDO. MAGALHÃES, Felipe. B. ¹, BASTOS, Rafael. R² RESUMO SQL INJECTION: ENTENDENDO E EVITANDO MAGALHÃES, Felipe. B. ¹, BASTOS, Rafael. R² ¹ Faculdade IDEAU Bagé RS Brasil magalhaesbg@gmail.com ² Faculdade IDEAU Bagé RS Brasil rafaelrodriguesbastos@gmail.com

Leia mais

Vijeo Designer - Personalização de login / logout na IHM

Vijeo Designer - Personalização de login / logout na IHM Vijeo Designer - Personalização de login / logout na IHM Jonas Ferreira da Silva Data: 10/09/2017 Versão: V1.0 Schneider Electric Suporte Técnico Brasil Especificações técnicas Schneider Electric Suporte

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 2

PHP INTEGRAÇÃO COM MYSQL PARTE 2 ABRIR CONEXÃO PHP INTEGRAÇÃO COM MYSQL PARTE 2 Professor: Leonardo Pereira Email: leongamerti@gmail.com Facebook: leongamerti Material de Estudo: http://www.leonti.vv.si Antes de podermos acessar informações

Leia mais

Petter Anderson Lopes Arbitragem, Desenvolvimento Seguro, Segurança Ofensiva e Forense Computacional

Petter Anderson Lopes Arbitragem, Desenvolvimento Seguro, Segurança Ofensiva e Forense Computacional Requerente: Metadados Assessoria e Sistemas. Empresa: Metadados Assessoria e Sistemas Especialista: Petter Anderson Lopes. Período: fevereiro de 2019. Modelo: Pentest, OWASP Top 10 2013 compliance. OWASP

Leia mais

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem

Leia mais

Tutorial SQL Server 2014 Express

Tutorial SQL Server 2014 Express Tutorial SQL Server 2014 Express Tutorial para o download: Passo 1: Faça o download do SQL Server 2014 Express acessando o link : https://www.microsoft.com/pt-br/download/details.aspx?id=42299. Passo 2:

Leia mais

Instruções de operação Site de aplicativos

Instruções de operação Site de aplicativos Antes de usar o equipamento, leia atentamente este manual e mantenha-o ao alcance para consultas futuras. Instruções de operação Site de aplicativos CONTEÚDO Como ler este manual... 2 Símbolos usados

Leia mais

BANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.

BANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha. BANCO DE DADOS WEB AULA 9 concessão e revogação de privilégios professor Luciano Roberto Rocha www.lrocha.com O que são privilégios Quem cria o objeto no banco de dados se torna o seu dono. Por padrão,

Leia mais

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios! (Apresentação SQL Manager Lite for InterBase and Firebird) Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios! Ferramenta de alta performance para a otimização da administração de

Leia mais

Proposta de calendário - Comissão Permanente de Ensino

Proposta de calendário - Comissão Permanente de Ensino Proposta de calendário - Comissão Permanente de Ensino 1º semestre > Início 07/03/2016 > Continuidade do 1º semestre, em reposição ao período de paralisação das atividades (17/06 a a partir de 29/08 21/08/2016)

Leia mais

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS Fábio Roberto Octaviano Controlando Acesso dos Usuários Após o término do Capítulo: Diferenciar privilégios de sistema e privilégios de objetos.

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

Marcos Alexandruk Marcos Alexandruk

Marcos Alexandruk Marcos Alexandruk Marcos Alexandruk m.alexandruk@gmail.com Apresentação disponível em: www.dba.net.br/mysql.pdf Parte I: Download e Instalação MySQL - Download www.mysql.com/downloads MySQL - Download MySQL - Download MySQL

Leia mais

Universidade Estadual do Ceará UECE Departamento de Informática DI Documentação Técnica

Universidade Estadual do Ceará UECE Departamento de Informática DI Documentação Técnica Universidade Estadual do Ceará UECE Departamento de Informática DI Documentação Técnica CRIAÇÃO DE NOVOS SITES NO PORTAL DA UECE Carlos Alberto Teixeira Magalhães - Última Alteração: 14MAR2016 De acordo

Leia mais

Desenvolvimento Web II

Desenvolvimento Web II Desenvolvimento Web II Framework Laravel 5 Autenticação / Auth (https://laravel.com/docs/5.6/authentication) Gil Eduardo de Andrade Introdução: O Laravel fornece, nativo, uma API de autenticação que permite

Leia mais

LAB 7 Cookies e Sessões em PHP

LAB 7 Cookies e Sessões em PHP LAB 7 Cookies e Sessões em PHP 1. Assume-se neste lab que concluiu com sucesso o LAB6. Copie todos os ficheiros da pasta LAB6 para a pasta LAB7. 2. Construa o template (formulario) blog_template.html {MENU_1}

Leia mais

Flickr, shindotv/ / BASES DE DADOS. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

Flickr, shindotv/ / BASES DE DADOS. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes Flickr, shindotv/3835365695/ BASES DE DADOS Laboratórios de Informática 2014-2015 João Paulo Barraca, André Zúquete, Diogo Gomes Armazenamento de Informação Aplicações necessitam de armazenar informação

Leia mais

TRABALHO FINAL 20 Pontos

TRABALHO FINAL 20 Pontos Técnico em Informática Integrado ao Ensino Médio Algoritmos e Banco de Dados Profa. Cleiane Gonçalves Oliveira TRABALHO FINAL 20 Pontos O trabalho final deverá constar os três seguintes tipos de funções:

Leia mais

Guia do Wi-Fi Direct. Configuração fácil usando Wi-Fi Direct. Solução de problemas

Guia do Wi-Fi Direct. Configuração fácil usando Wi-Fi Direct. Solução de problemas Guia do Wi-Fi Direct Configuração fácil usando Wi-Fi Direct Solução de problemas Conteúdo Como ler os manuais... 2 Símbolos usados nos manuais... 2 Isenção de responsabilidade... 2 1. Configuração fácil

Leia mais

S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A

S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 4 S U B G R U P O S D M L E D Q L : A L T E R A N D O E A P A G A N D O D A D O S E M U M A T A B E L A INDEPENDÊNCIA DOS DADOS A habilidade de modificar a definição

Leia mais

PSI Linguagem de Definição de dados. Módulo 15

PSI Linguagem de Definição de dados. Módulo 15 PSI Linguagem de Definição de dados Módulo 15 Objetivos de aprendizagem No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam: Criação, alteração

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar - Aula 12 - SEGURANÇA DE BANCO DE DADOS 1. INTRODUÇÃO Podemos dizer que segurança em banco de dados garante que os usuários tenham permissão para fazer o que realmente precisam fazer. Para tanto, os Sistemas

Leia mais

MIRTH CRIANDO MENSAGENS HL7 A PARTIR DE UMA BASE DE DADOS

MIRTH CRIANDO MENSAGENS HL7 A PARTIR DE UMA BASE DE DADOS MIRTH CRIANDO MENSAGENS HL7 A PARTIR DE UMA BASE DE DADOS Neste tutorial, orientaremos como criar mensagens HL7 V2.x ORM a partir de uma base de dados usando o conector do tipo Database Reader. Vamos usar

Leia mais

Uniao Educacional e Tecnologica Impacta- Uni Impacta

Uniao Educacional e Tecnologica Impacta- Uni Impacta Controlando o Acesso do Usuário Objetivos Ao concluir esta lição, você será capaz de: Diferenciar privilégios de sistema de privilégios de objeto Conceder privilégios em tabelas Conceder funções Distinguir

Leia mais

SEGURANÇA EM APLICAÇÕES WEB PROF.: PAULO RICARDO LISBOA DE ALMEIDA

SEGURANÇA EM APLICAÇÕES WEB PROF.: PAULO RICARDO LISBOA DE ALMEIDA SEGURANÇA EM APLICAÇÕES WEB PROF.: PAULO RICARDO LISBOA DE ALMEIDA APLICAÇÕES DESKTOP VERSUS WEB Quais são as diferenças do ponto de vista da segurança APLICAÇÕES DESKTOP VERSUS WEB Em uma aplicação desktop,

Leia mais

MySQL. Prof. César Melo. com a ajuda de vários

MySQL. Prof. César Melo. com a ajuda de vários MySQL Prof. César Melo com a ajuda de vários Banco de dados e Sistema de gerenciamento; Um banco de dados é uma coleção de dados. Em um banco de dados relacional, os dados são organizados em tabelas. matricula

Leia mais

MASTERSAF REDF SP CONFIGURAÇÃO E CRIPTOGRAFIA

MASTERSAF REDF SP CONFIGURAÇÃO E CRIPTOGRAFIA ÍNDICE OBJETIVO... 3 CONFIGURAÇÃO DO TOMCAT 5.5... 3 PASSOS NECESSÁRIOS... 3 CONFIGURANDO O SERVIDOR DE BANCO DE DADOS... 9 SCRIPTS DDL... 9 INICIANDO A INSTALAÇÃO... 9 CONFIGURANDO O MENU DO SISTEMA REDF...

Leia mais

INTRODUÇÃO AO MYSQL. Eng. Computação

INTRODUÇÃO AO MYSQL. Eng. Computação INTRODUÇÃO AO MYSQL PROF. ME. HÉLIO ESPERIDIÃO Eng. Computação Iniciando o xampp e SGBD mysql Xampp é um pacote de programas que incluem Mysql Apache Php Phpmyadmin https://www.apachefriends.org/download.html

Leia mais

Instruções de operação. Site de aplicativos

Instruções de operação. Site de aplicativos Instruções de operação Site de aplicativos CONTEÚDO Como ler este manual... 2 Símbolos usados nos manuais... 2 Isenção de responsabilidade... 3 Notas...3 O que você pode fazer no Site de aplicativos...

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Banco de Dados II. Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva

Banco de Dados II. Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva Banco de Dados II Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva 1 Tablespace Um tablespace é uma unidade lógica onde os dados são armazenados.

Leia mais

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp?comp=28194 Triggers no SQL Server: teoria e prática aplicada em uma situaçã o real Veja neste

Leia mais

Introdução ao Sistema. Características

Introdução ao Sistema. Características Introdução ao Sistema O sistema Provinha Brasil foi desenvolvido com o intuito de cadastrar as resposta da avaliação que é sugerida pelo MEC e que possui o mesmo nome do sistema. Após a digitação, os dados

Leia mais

Oracle Database 12c: Introdução ao SQL Ed. 2

Oracle Database 12c: Introdução ao SQL Ed. 2 Oracle Database 12c: Introdução ao SQL Ed. 2 Duração: 5 dias O que você irá aprender Esse curso Oracle Database 12c: Introdução ao SQL Ed. 2 ajudará você a escrever subconsultas (subqueries), combinar

Leia mais

Configurar um um início de uma sessão do botão para agentes do telefone IP

Configurar um um início de uma sessão do botão para agentes do telefone IP Configurar um um início de uma sessão do botão para agentes do telefone IP Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Background Procedimento Troubleshooting Problema

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Plano de Ensino e Aprendizagem 2 Java Conexão banco de dados 3 Agenda Conexão Banco de Dados Padrão DAO (Data Access Object)

Leia mais

Revisão Banco de Dados

Revisão Banco de Dados Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens

Leia mais

Uniao Educacional e Tecnologica Impacta- Uni Impacta

Uniao Educacional e Tecnologica Impacta- Uni Impacta Scripts avançados de gravação Objetivos Após concluir este apêndice, você poderá: Descrever o tipo de problemas que são resolvidos usando SQL para gerar SQL Gravar um script que gera um script de instruções

Leia mais

2.1-Criar BD e Tabelas.

2.1-Criar BD e Tabelas. 2 2.1-Criar BD e Tabelas. Vamos ao phpmyadmin: Financiado pelo FSE Pág: 1 Tabelas Financiado pelo FSE Pág: 2 2.2-Definir o site e sua conexão. Financiado pelo FSE Pág: 3 Financiado pelo FSE Pág: 4 Depois

Leia mais

Linguagem SQL Restrições, Triggers e Views

Linguagem SQL Restrições, Triggers e Views FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre

Leia mais

Aula 6: Vulnerabilidades Web

Aula 6: Vulnerabilidades Web Aula 6: Vulnerabilidades Web Exploits of a Mom http://xkcd.com 1.1 Objectivos: Compreender duas vulnerabilidades encontradas em aplicações web: SQL Injection; Cross-site Scripting. Pensar sobre formas

Leia mais

Zabbix 3 Instalação INSTALAÇÃO

Zabbix 3 Instalação INSTALAÇÃO O Zabbix é um software de código aberto, criado por Alexei Vladishev, que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível de notificação

Leia mais

SQL/HTML Injection e Criptografia Professor Fábio Luís da Silva Santos

SQL/HTML Injection e Criptografia Professor Fábio Luís da Silva Santos SQL/HTML Injection e Criptografia Professor Fábio Luís da Silva Santos SQL Injection Muitos desenvolvedores web não sabem de como consultas SQL podem ser manipuladas e presumem que uma consulta de SQL

Leia mais

Manual Técnico. Instalação e Configuração do Reporting Services

Manual Técnico. Instalação e Configuração do Reporting Services 201 6 Manual Técnico Instalação e Configuração do Reporting Services Me ta T e c no l o g i a em So f t wa r e Lt da. Com a instalação do módulo de Reporting services poderemos disponibilizar relatórios,

Leia mais

globo.com Gerenciamento de Senhas

globo.com Gerenciamento de Senhas globo.com Gerenciamento de Senhas Agenda Motivação Métodos utilizados para armazenamento de senhas Principais softwares utilizados Compartilhando uma senha GSenha Motivação Dificuldade em gerar uma senha

Leia mais

Disciplina: Banco de Dados Tema: SQL Parte 2

Disciplina: Banco de Dados Tema: SQL Parte 2 Disciplina: Banco de Dados Tema: SQL Parte 2 PROFESSOR: DANILO MONTEIRO EMAIL: PROF.DANILO.MONTEIRO@GMAIL.COM O que foi visto na aula passada? create database Drop database Create table Drop table PROF.DANILO.MONTEIRO@GMAIL.COM

Leia mais

Fundamentos de Banco de Dados Postgre com Sql

Fundamentos de Banco de Dados Postgre com Sql Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1 Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de

Leia mais

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table

Leia mais

Guia de Instalação TSS TOTVS SERVICE SOA

Guia de Instalação TSS TOTVS SERVICE SOA Guia de Instalação TSS TOTVS SERVICE SOA Dezembro/2016 Sumário Sumário... 2 1. Requisitos do Processo... 3 2. Recomendações do Processo... 4 3. Executando o Processo de Instalação... 4 3.1. Configurando

Leia mais

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores

Leia mais

Prova de pré-requisito

Prova de pré-requisito Prova de pré-requisito PHP & MySQL: Técnicas para Web 2.0 1 - Qual das opções constrói a tabela abaixo: DIA MÊS ANO 28 04 1988 22 02 2002 a) b) c) dia mês ano

Leia mais

Planificação Anual. Departamento Expressões e Tecnologias

Planificação Anual. Departamento Expressões e Tecnologias Modelo Dep-01 Planificação Anual Agrupamento de Escolas do Castêlo da Maia Departamento Expressões e Tecnologias Ano 12º Ano letivo 2013.2014 Disciplina Programação e Sistemas de Informação Turma G Professores:

Leia mais

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição

Leia mais

Conexão com Banco de Dados

Conexão com Banco de Dados Conexão com Banco de Dados ORM Atualmente os novos sistemas que estão sendo desenvolvidos estão utilizando a técnica de ORM para fazer conexão e acesso a banco de dados. ORM é uma técnica de mapeamento

Leia mais

SQL E MYSQL - COMANDOS BÁSICOS

SQL E MYSQL - COMANDOS BÁSICOS SQL E MYSQL - COMANDOS BÁSICOS Criar uma base de dados: CREATE DATABASE bdteste; Informação sobre tabelas DESCRIBE nomedatabela; Acessar base de dados: USE bdteste; COMANDOS GERAIS SHOW DATABASES; USE

Leia mais

Como acessar as imagens via Navegador Mozilla Firefox

Como acessar as imagens via Navegador Mozilla Firefox Como acessar as imagens via Navegador Mozilla Firefox Antes de iniciar o procedimento de como realizar o(s) Acesso(s) Remoto(s) (Endereço IP em Rede Local, ou via Nuvem, ou via DDNS) através do Navegador

Leia mais

Guia do Google Cloud Print

Guia do Google Cloud Print Guia do Google Cloud Print Informações sobre o Google Cloud Print Imprimir usando o Google Cloud Print Apêndice Conteúdo Como ler os manuais... 2 Símbolos usados nos manuais... 2 Isenção de responsabilidade...

Leia mais

Introdução em Banco de Dados

Introdução em Banco de Dados Introdução em Banco de Dados Aula07 ComandosSQLeMySQL Prof: Franciel MySQL é um banco de dados cliente servidor gratuito É simples, tem alto desempenho, é disponível para várias plataformas e é robusto

Leia mais