Gestão de Segurança da Informação. Segurança de Banco de Dados ( SQL Injection, APBIDS, Modelagem )
|
|
- Cármen Brezinski Camilo
- 8 Há anos
- Visualizações:
Transcrição
1 Segurança de Aplicações e Banco de Dados Gestão de Segurança da Informação pós-graduação Lato Sensu Segurança de Banco de Dados ( SQL Injection, APBIDS, Modelagem ) Patrick Tracanelli Francisco Temponi FUMEC
2 Definição segundo a OWASP (Open Web Application Security Project), ISC^2 e Sans Security: SQL injection attacks are a type of injection attack, in which SQL commands are injected into data-plane input in order to affect the execution of predefined SQL commands Portando a definição deixa claro: SQL Injection é um problema de validação inadequada de entrada. Tal qual Code Injection e outras técnicas.
3 SQL Injection se aplica apenas à ambiente Web?
4 SQL Injection se aplica apenas à ambiente Web? Não. Os target mais comuns em ordem de exploração, são: Ambiente Web Stored Procedures Functions
5 SQL Injection se aplica apenas à ambiente Web? Não. Os target mais comuns em ordem de exploração, são: Ambiente Web Stored Procedures Functions As técnicas de exploração de Injeção SQL são 3: Logical/Boolean-based blind UNION query Batched queries
6 LOGICAL / BOOLEAN-BASED BLIND - Técnica de ataque cego baseado em lógica. - É o tipo mais comum. - Também conhecido como or 1=1 (e similares, tamanha simplicidade)
7 LOGICAL / BOOLEAN-BASED BLIND - Técnica de ataque cego baseado em lógica. - É o tipo mais comum. - Também conhecido como or 1=1 (e similares, tamanha simplicidade) - Por exemplo...
8 LOGICAL / BOOLEAN-BASED BLIND Consideremos o seguinte trecho de código (php): <? php $u = $_P O S T['us ua rio']; $p = $_P O S T['s enha ']; $s ql = S E LE C T * FR O M us ua rios WH E R E c odig o = '$u' A N D s enha = '$p' ;? >
9 LOGICAL / BOOLEAN-BASED BLIND Consideremos o seguinte trecho de código (php): <? php $u = $_P O S T['us ua rio']; $p = $_P O S T['s enha ']; $s ql = S E LE C T * FR O M us ua rios WH E R E c odig o = '$u' A N D s enha = '$p' ;? > Na Web:
10 LOGICAL / BOOLEAN-BASED BLIND Consideremos o seguinte trecho de código (php): <? php Na Web: $u = $_P O S T['us ua rio']; $p = $_P O S T['s enha ']; $s ql = S E LE C T * FR O M us ua rios WH E R E us erna m e = '$u' A N D s enha = '$p' ;? > S E LE C T * FR O M us ua rios WH E R E us erna m e = ' ' A N D s enha = ' ' or 1='1';
11 LOGICAL / BOOLEAN-BASED BLIND Como identificar se uma aplicação, web site, procedure ou o que for, está vulnerável ao tipo de ataque número 1? Passo 1: A aplicação retorna erro de sintaxe no banco ao manipular a string de entrada artificialmente? Se sim, a probabilidade dele não validar o input é enorme. Passo 2: A aplicação sabe fazer matemática? Exemplo: index.aspx?notid=2 e index.aspx?notid=1+1 retornam o mesmo conteúdo? Passo 3: A aplicação sabe lógica? Exemplo: index.aspx?notid=2+or+(+1=1+)
12 LOGICAL / BOOLEAN-BASED BLIND Como identificar se uma aplicação, web site, procedure ou o que for, está vulnerável ao tipo de ataque número 1? Se a resposta for SIM: INFORMATION LEAK Se SIM: A aplicação executará tudo que receber na entrada. A mais básica vulnerabilidade SQL Injection (e também uma das mais perigosas). Para obter a informação que você precisa, basta fazer a query correta (se o usuário do banco tiver acesso a ela). Passo 3: A aplicação sabe lógica? Exemplo: index.aspx?notid=2+or+(+1=1+)
13 UNION QUERY UNION QUERY: O input não validado executando outras queries.
14 UNION QUERY UNION QUERY: O input não validado executando outras queries. SELECT CCNum,CCType,CCExp,CCName FROM CreditCards WHERE (AccNum= AND CardState='Active') AND UserName='Luiz Inacio Silva' SELECT CCNum,CCType,CCExp,CCName FROM CreditCards WHERE (AccNum= ) UNION SELECT CCNum,CCType,CCExp,CCName WHERE 1=1 (AND CardState='Active') AND UserName='Luiz Inacio Silva'
15 UNION QUERY UNION QUERY: O input não validado executando outras queries. index.aspx?id=111+or+(+ (+select+usesysid+from+pg_shadow+limit+1+offset+1)+=+0+) Não dá certo? index.aspx?id=111+union+(+ (+select+usesysid+from+pg_shadow+limit+1+offset+1)+)
16 UNION QUERY UNION QUERY: O input não validado executando outras queries. index.aspx?id=111+or+(+ (+select+usesysid+from+pg_shadow+limit+1+offset+1)+=+0+) Não dá certo? index.aspx?id=111+union+(+ (+select+usesysid+from+pg_shadow+limit+1+offset+1)+) Problema com o número de colunas ao unir as queries?... To NULL or not to NULL: that is the question
17 UNION QUERY UNION INJECTION mais avançado: UNION ALL SELECT NULL, CHR(83) CHR(114) CHR(108) CHR(71) CHR(86) CHR(116) COALESCE(CAST(usename AS CHARACTER(10000)), CHR(32)) CHR(104) CHR(100) CHR(122) CHR(81) CHR(121) CHR(90) COALESCE(CAST(usecreatedb AS CHARACTER(10000)), CHR(32)) CHR(104) CHR(100) CHR(122) CHR(81) CHR(121) CHR(90) COALESCE(CAST(usesuper AS CHARACTER(10000)), CHR(32)) CHR(104) CHR(100) CHR(122) CHR(81) CHR(121) CHR(90) COALESCE(CAST(usecatupd AS CHARACTER(10000)), CHR(32)) CHR(75) CHR(121) CHR(80) CHR(65) CHR(68) CHR(102), NULL FROM pg_user
18 BATCHED QUERIES
19 BATCHED QUERIES
20 BATCHED QUERIES O irmão mais velho do Bobby Tables, John'); DROP current(); conseguiu uma namorada, a Ana, de sobre-mome ; drop table pg_shadow; index.aspx?idd=111;+drop+table+pg_shadow+;
21 STORED PROCEDURES / FUNÇÕES O problema não é exclusivamente Web: Procedure criada com usuário test no MySQL: CREATE PROCEDURE sp_test (input varchar(100)) begin = input; = concat( SELECT text FROM test_tbl where id=,@id); PREPARE stmt EXECUTE stmt; DEALLOCATE PREPARE stmt; end
22 STORED PROCEDURES / FUNÇÕES O problema não é exclusivamente Web: Procedure criada com usuário root do MySQL: CREATE PROCEDURE sp_root (input varchar(100)) begin = input; = concat( SELECT text FROM test_tbl where id=,@id); PREPARE stmt EXECUTE stmt; DEALLOCATE PREPARE stmt; end
23 STORED PROCEDURES / FUNÇÕES mysql> select user(); + -+ user() + -+ test@localhost row in set (0.00 sec) mysql> select user from mysql.user; ERROR 1142 (42000): SELECT command denied to user for table user mysql> call sp_test( 1 union all select concat(user,password) from mysql.user ); ERROR 1142 (42000): SELECT command denied to user for table user
24 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec)
25 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) Os problemas aqui são 2:
26 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) Os problemas aqui são 2: 1) SQL Injection, técnica 2 UNION que você já reconhece;
27 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) Os problemas aqui são 2: 1) SQL Injection, técnica 2 UNION que você já reconhece; 2) Entendimento da aplicação.
28 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) Os problemas aqui são 2: 1) SQL Injection, técnica 2 UNION que você já reconhece; 2) Entendimento da aplicação. - Stored Procedure e Function tem poder de quem as cria, não de quem as executa, no MySQL. E no Oracle? E no MS-SQL? E no PostgreSQL?
29 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) Os problemas aqui são 2: 1) SQL Injection, técnica 2 UNION que você já reconhece; 2) Entendimento da aplicação. - Stored Procedure e Function tem poder de quem as cria, não de quem as executa, no MySQL. E no Oracle? E no MS-SQL? E no PostgreSQL? recurso faz? - Você conhecer o Invoker Security? Ou Invoker Rights no (Oracle)? O que o
30 STORED PROCEDURES / FUNÇÕES mysql> call sp_root( -1 union all select user from mysql.user ); + + text + + mysql root test bsd-sys-dba root 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) Portanto do que vale criptografar Stored Procedures e afins? Segurança por obscuridade. Existe? É segurança?
31 FERRAMENTAS Varredura semi-automatizada de SQL Injection, ferramenta de Penetration Tests que eu sugiro: sqlmap ( - Open Source
32 APPLICATION BASED INTRUSION DETECTION SYSTEM (APBIDS) O que é um APBIDS? Quais os Tipos? Tal qual NIDS, HIDS, APBIDS se dividem em 2 tipos: - Baseados em Taxonomia - Passivo, Reativo, Preventivo - Cognitivos - Passivo, Reativo, Preventivo
33 APPLICATION BASED INTRUSION DETECTION SYSTEM (APBIDS) O que é um APBIDS? Quais os Tipos? Tal qual NIDS, HIDS, APBIDS se dividem em 2 tipos: - Baseados em Taxonomia - Passivo, Reativo, Preventivo - Cognitivos - Passivo, Reativo, Preventivo Quais Existem? - Apache Web Server: mod_security (tomcat, apache, jboss, mono,...)
34 APPLICATION BASED INTRUSION DETECTION SYSTEM (APBIDS) O que é um APBIDS? Quais os Tipos? Tal qual NIDS, HIDS, APBIDS se dividem em 2 tipos: - Baseados em Taxonomia - Passivo, Reativo, Preventivo - Cognitivos - Passivo, Reativo, Preventivo Quais Existem? - Apache Web Server: mod_security (tomcat, apache, jboss, mono,...) Microsoft IIS: - IIS-Guard - IIS-Ensafe ;-) o pulo do gato
35 mod_security O que é o mod_security? Um APBIDS baseado em Assinatura Taxonômica, para Apache Web Server e suítes afins (TomCat, Jacarta, etc).
36 mod_security Em um ambiente multi-camadas... Exemplo abaixo ilustra o mod_security como solução de segurança server-side para home banking, especificamente do Blue Bank Europe.
37 mod_security Como funciona? Na prática...
38 IIS-Ensafe O que é? Criado pela FreeBSD Brasil LTDA (pela FreeBSD BR??)
39 IIS-Ensafe O que é? Criado pela FreeBSD Brasil LTDA (pela FreeBSD BR??) - Apache Core + mod_proxy + mod_security - 80% das funcionalidades originais do mod_security - Faz uso da JWSCL API para implementar outros 11% das funcionalidades (mod_rewrite reescrito para o IIS com a JWCSL); - Os outros 9%? A maior parte é típicamente de Unix;
40 PERGUNTAS??
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 maisSQL Injection Amplifying Data Leakage OWASP. The OWASP Foundation http://www.owasp.org. Ulisses Castro Security Researcher uss.castro@gmail.
SQL Injection Amplifying Data Leakage Ulisses Castro Security Researcher uss.castro@gmail.com Copyright 2007 The Foundation Permission is granted to copy, distribute and/or modify this document under the
Leia maisArmazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;
Conjunto de informações relacionadas entre si; Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas; Conjunto de Tabelas onde cada linha é um vetor de dados específico;
Leia maisProf. Carlos Majer Aplicações Corporativas UNICID
Este material pertence a Carlos A. Majer, Professor da Unidade Curricular: Aplicações Corporativas da Universidade Cidade de São Paulo UNICID Licença de Uso Este trabalho está licenciado sob uma Licença
Leia maisTransações Seguras em Bancos de Dados (MySQL)
Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o
Leia maisPHP e MySQL Autenticação de Usuários
PHP e MySQL Autenticação de Usuários Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ Controle de Acesso A maioria das aplicações web envolve em algum ponto um mecanismo
Leia maisO essencial do comando mysqladmin, através de 18 exemplos
O essencial do comando mysqladmin, através de 18 exemplos Elias Praciano O mysqladmin é uma ferramenta de linha de comando que vem junto com a instalação do servidor MySQL e é usada por administradores
Leia maisProjeto de Banco de Dados
Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html
Leia maisTrabalhando com MySQL: Uma Introdução
Trabalhando com MySQL: Uma Introdução 1. A linguagem PHP A linguagem PHP é uma linguagem de programação criada especialmente para o uso em páginas Web. Mas nem por isso ela não pode deixar de ser usada
Leia maisBanco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke
Banco de Dados SQL (Structured Query Language) Ana Paula Toome Wauke Criar banco de dados: mysql> CREATE database 134a; Query OK, 1 row affected (0.00 sec) Deletar banco de dados: mysql> DROP database
Leia maisCIÊNCIA E TECNOLOGIA DO RIO
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS II Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso de Tecnologia
Leia maisMySQL: Inserção e Seleção em Tabelas
MySQL: Inserção e Seleção em Tabelas Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ INSERT INTO Para inserir novas entradas (linhas) em um tabela, usa-se INSERT INTO.
Leia maisNo Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:
Instalando o MySQL O MySQL é um banco de dados extremamente versátil, usado para os mais diversos fins. Você pode acessar o banco de dados a partir de um script em PHP, através de um aplicativo desenvolvido
Leia maisPrincipais Comandos SQL Usados no MySql
Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)
Leia maisAULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA
Sumário Construção de sistema Administrativo... 1 Sistema de Login... 2 SQL INJECTION... 2 Técnicas para Evitar Ataques... 2 Formulário de Login e Senha fará parte do DEFAULT... 5 LOGAR... 5 boas... 6
Leia maistrigger insert, delete, update
1 Um trigger é um conjunto de instruções SQL armazenadas no catalogo da BD Pertence a um grupo de stored programs do MySQL Executado quando um evento associado com uma tabela acontece: insert, delete,
Leia maisMSN-Proxy v0.7 no Debian 5 (Atualizado)
Remontti MSN-Proxy v0.7 no Debian 5 (Atualizado) MSN-Proxy v0.7 no Debian 5 (Atualizado) Controle o uso do msn Messenger em sua rede. Desfrute de vários recursos, bem como log das conversas, aviso sobre
Leia maisProgramação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza
PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível
Leia maisOperação de União JOIN
Operação de União JOIN Professor Victor Sotero SGD 1 JOIN O join é uma operação de multi-tabelas Select: o nome da coluna deve ser precedido pelo nome da tabela, se mais de uma coluna na tabela especificada
Leia maisEntendendo Injeção de SQL
Entendendo Injeção de SQL Autor K4m1k451 < k4m1k451@gmail.com bere_bad@hotmail.com > 18/05/2009 Sumário: ---[ 0x00 Introdução... 4 ---[ 0x01 Desmistificando as single quotes... 4 ---[ 0x02 Injetando...
Leia maisSQL Procedural. Josino Rodrigues Neto josinon@gmail.com
SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisIntrodução à Banco de Dados. Nathalia Sautchuk Patrício
Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem
Leia maisBANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisINSTALANDO E CONFIGURANDO O MY SQL
INSTALANDO E CONFIGURANDO O MY SQL Este tutorial tem como objetivo mostrar como instalar o banco de dados My SQL em ambiente Windows e é destinado aqueles que ainda não tiveram um contato com a ferramenta.
Leia maisINTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião
INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado
Leia maisFAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure
Leia maisModelo Cliente/Servidor Por HIARLY ALVES
UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE CONCEITOS Cliente x Servidor. Cliente É um programa (software) executado
Leia maisSQL Structured Query Language
Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa
Leia maisPROCEDIMENTOS ARMAZENADOS (Stored Procedures)
PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a
Leia maisCRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS
CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS Prof. Me. Hélio Esperidião SQL - STRUCTURED QUERY LANGUAGE SQL é uma linguagem padronizada para a definição e
Leia maisFunções Definidas pelo Usuário
BD II (SI 587) Funções Definidas pelo Usuário Prof. Josenildo Silva jcsilva@ifma.edu.br Funções definidas pelo usuário Funções precisam obrigatoriamente retornar um valor Somente aceitam parâmetros do
Leia maisIntrodução à Engenharia da Computação. Banco de Dados Professor Machado
Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia maisVULNERABILIDADES WEB v.2.2
VULNERABILIDADES WEB v.2.2 $ whoami Sgt NILSON Sangy Computer Hacking Forensic Investigator Analista de Segurança da Informação Guerreiro Cibernético $ ls -l /etc 1. Contextualização 2. OWASP 2.1. Injeção
Leia maisTriggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL
Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Linguagem de Programação de Banco de Dados Triggers em PostgreSQL Todos os bancos de dados comerciais possuem uma linguagem procedural auxiliar para a
Leia maisMODSECURITY. Firewall de Aplicação WEB Open Source. Pedro Henrique C. Sampaio UFBA - CRI
MODSECURITY Firewall de Aplicação WEB Open Source Pedro Henrique C. Sampaio UFBA - CRI Quem sou eu? Pedro Sampaio Bolsista do CRI/UFBA (Equipe de segurança) Membro do Raul Hacker Club Organizador da Nullbyte
Leia maisFórum Internacional Software Livre 8.0. PEAR::MDB2_Schema. Igor Feghali [ifeghali@php.net]
Fórum Internacional Software Livre 8.0 PEAR::MDB2_Schema Igor Feghali [ifeghali@php.net] Quem sou eu? Graduando em Engenharia de Computação pela Universidade Federal do Espírito Santo (UFES) Participante
Leia maisEntendendo e Mitigando Ataques Baseados em HTTP Parameter Pollution (HPP)
Entendendo e Mitigando Ataques Baseados em HTTP Parameter Pollution (HPP) 05/12/2009 Ricardo Kléber M. Galvão rk@cefetrn.br Aplicações Web Modernas (3 Camadas) Cliente Aplicação Web Browser Microsoft IIS
Leia maisAPOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Leia maisINTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco
Leia maisPROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger
PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco
Leia maisSQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL
SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas
Leia maisSensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com. Preparando o ambiente do Banco de dados Mysql
Criar database: Sensor de temperatura Parte 5 Cleiton Bueno www.cleitonbueno.wordpress.com Preparando o ambiente do Banco de dados Mysql CREATE DATABASE `tempuino` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
Leia maisSQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL
SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar
Leia maisBanco de Dados Objeto Relacional
Banco de Dados Objeto Relacional características Banco de Dados Objeto- Relacional (BDOR) Banco de dados relacional com extensões para manipulação de objetos e outras fatores de banco de dados orientado
Leia maisEscrito por Sex, 14 de Outubro de 2011 23:12 - Última atualização Seg, 26 de Março de 2012 03:33
Preço R$ 129.00 Compre aqui SUPER PACOTÃO 3 EM 1: 186 Vídeoaulas - 3 dvd's - 10.5 Gybabyte. 1) SQL 2) Banco de Dados (Oracle 10g, SQL Server 2005, PostgreSQL 8.2, Firebird 2.0, MySQL5.0) 3) Análise e Modelagem
Leia maisManipulação de Banco de Dados com Java 1. Objetivos
Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A
Leia maisSQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix
Leia maisPostgreSQL e C++ (libpq)
PostgreSQL e C++ (libpq) André Restivo Faculdade de Engenharia da Universidade do Porto April 5, 2013 André Restivo (FEUP) PostgreSQL e C++ (libpq) April 5, 2013 1 / 18 Sumário 1 Introdução 2 Ligação 3
Leia mais8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras
Leia maisProjeto de Banco de Dados: Empresa X
Projeto de Banco de Dados: Empresa X Modelo de negócio: Empresa X Competências: Analisar e aplicar o resultado da modelagem de dados; Habilidades: Implementar as estruturas modeladas usando banco de dados;
Leia maisEsse artigo foi escrito tendo como base o Banco de Dados MSSQLServer 2000. &KDPDQGR6WRUHG3URFHGXUHVDSDUWLUGR&ODULRQ
,QWURGXomR Esse artigo foi escrito tendo como base o Banco de Dados MSSQLServer 2000. &KDPDQGR6WRUHG3URFHGXUHVDSDUWLUGR&ODULRQ Para chamar uma Stored Procedure em Clarion, utilizamos a sentença Call, como
Leia maisINTRODUÇÃO BANCO DE DADOS(MYSQL) E PHP
INTRODUÇÃO BANCO DE DADOS(MYSQL) E PHP Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas
Leia maisIDENTIFICANDO VULNERABILIDADES EM LARGA ESCALA ATRAVÉS DE FALHAS DE DESENVOLVIMENTO
IDENTIFICANDO VULNERABILIDADES EM LARGA ESCALA ATRAVÉS DE FALHAS DE DESENVOLVIMENTO Quem sou eu: Desenvolvedor PHP? -Sim Entusiasta da área de segurança? -Sim Então trabalha com segurança? -Não, se trabalhar
Leia maisAdministração de Usuários e Privilégios no Banco de Dados
Administração de Usuários e Privilégios no Banco de Dados Todo agrupamento de bancos de dados possui um conjunto de usuários de banco de dados. Estes usuários são distintos dos usuários gerenciados pelo
Leia maisProgramação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
Leia maisEXEMPLOS DE COMANDOS NO SQL SERVER
EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;
Leia maisBANCO DE DADOS WEB. Professor Luciano Roberto Rocha
BANCO DE DADOS WEB 1 CONECTANDO-SE AO MYSQL VIA PHP Professor Luciano Roberto Rocha Como conectar MySQL via PHP 2 O MySQL é mais popular SGBD entre os desenvolvedores PHP. Existem várias funções do PHP
Leia maisSistemas de Informação
Sistemas de Informação Rules and Triggers André Restivo Sistemas de Informação 2006/07 Rules e Triggers Nem todas as restrições podem ser definidas usando os mecanismos que estudamos anteriormente: - CHECK
Leia maisCurso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com
+ Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco
Leia maisRevisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 5 SELECT * FROM Minha_memoria Revisando Sintaxes SQL e Criando programa de Pesquisa Ano:
Leia maisLaboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL
Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco
Leia maisSegurança na WEB Ambiente WEB estático
Segurança de Redes Segurança na WEB Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Servidor IIS Apache Cliente Browser IE FireFox Ambiente WEB estático 1 Ambiente Web Dinâmico Servidor Web Cliente Navegadores
Leia maisRoteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos
Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de
Leia maisIntrodução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos
Bases de Dados Stored procedures e triggers Introdução às funções e procedimentos SQL suporta funções e procedimentos úteis com tipos de dados específicos p.ex. objectos geométricos, imagens intersecção
Leia maisInjeção de SQL - Detecção de evasão
Injeção de SQL - Detecção de evasão Resumo A detecção dos ataques de injeção de SQL era feita inicialmente com o uso de técnicas de reconhecimento de padrões, verificados contra assinaturas e palavraschave
Leia maisAuditoria de sistemas Deixe que seu banco de dados faça o trabalho por você
Auditoria de sistemas Deixe que seu banco de dados faça o trabalho por você por Cristóferson Guimarães Magalhães Bueno e Odilon Corrêa da Silva 1 O objetivo deste artigo é demonstrar como criar um sistema
Leia maisProgramaçã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 maisFTIN 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 Criação da Base de Dados (MySQL) Criação de Tabelas Tipo de Dados Chave Primária
Leia maisLINGUAGEM SQL. DML - Linguagem de Manipulação de Dados
LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características
Leia maisXSS - CROSS-SITE SCRIPTING
Segurança XSS - CROSS-SITE SCRIPTING XSS - CROSS-SITE SCRIPTING Vamos supor a seguinte situação: O site ingenuo.com tem um fórum As pessoas escrevem comentários nesse fórum e eles são salvos diretamente
Leia maisUNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta
Leia maisBANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010
BANCO DE DADOS: SQL UERN - Universidade do Estado do Rio Grande do Norte. Departamento de Ciências da Computação. 27 de janeiro de 2010 índice 1 Introdução 2 3 Introdução SQL - Structured Query Language
Leia maisMonitoria GDI Aula Prática. DML + PL/SQL parte 1
Monitoria GDI Aula Prática DML + PL/SQL parte 1 DML linguagem de manipulação de dados SQL Estrutura básica de uma consulta SQL SELECT Coluna1[,Coluna2[,Coluna3[,...]]] FROM Tabela1[,Tabela2[,...]] WHERE
Leia maisAPOSTILA BÁSICA DE MYSQL
APOSTILA BÁSICA DE MYSQL História O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980.
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisIntrodução à linguagem SQL
Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial
Leia maisPL/pgSQL por Diversão e Lucro
PL/pgSQL por Diversão e Lucro Roberto Mello 3a. Conferência Brasileira de PostgreSQL - PGCon-BR Campinas - 2009 1 Objetivos Apresentar as partes principais do PL/pgSQL Apresentar casos de uso comum do
Leia maisBanco de Dados. Maurício Edgar Stivanello
Banco de Dados Maurício Edgar Stivanello Agenda Conceitos Básicos SGBD Projeto de Banco de Dados SQL Ferramentas Exemplo Dado e Informação Dado Fato do mundo real que está registrado e possui um significado
Leia maisTolerância a Falhas em sistemas distribuídos (programação)
Tolerância a Falhas em sistemas distribuídos (programação) Arthur Zavattieri Cano Lopes Curso de Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, Maio de 2009. Resumo
Leia maisPostgreSQL. www.postgresql.org. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br
PostgreSQL www.postgresql.org André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br Características Licença BSD (aberto, permite uso comercial) Multi-plataforma (Unix, GNU/Linux,
Leia maisSQL Gatilhos (Triggers)
SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE
Leia maisDesenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)
Desenvolvimento de Sistemas Web Prof. Leandro Roberto Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete) JavaScript Eventos Alguns eventos de uma página HTML podem ser interceptados e programados
Leia maisC 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 maisLidando com Armazenamento de Dados
Lidando com Armazenamento de Dados Paulo Ricardo Lisboa de Almeida 1 Armazenamento de Dados A grande maioria das aplicações possuem algum mecanismo para armazenagem de dados Dados de usuários Permissões
Leia maisComandos de Manipulação
SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL
Leia maisMySQL: Controle de Acesso
MySQL: Controle de Acesso Programação de Servidores Marx Gomes Van der Linden http://marx.vanderlinden.com.br/ Controle de Acesso MySQL tem um sistema de controle de acesso de usuários que é independente
Leia maisRede de Laboratórios de Produtividade de Software
Rede de Laboratórios de Produtividade de Software Testes em aplicações WEB Uma Visão Geral Programa de Capacitação em Testes de Software Desktop system WEB system Ambiente de aplicativo da Web Rede de
Leia maisLogado no OracleXE vamos acessar a opção:
Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisDesenvolvimento e disponibilização de Conteúdos para a Internet
Desenvolvimento e disponibilização de Conteúdos para a Internet Por Matheus Orion OWASP A Open Web Application Security Project (OWASP) é uma entidade sem fins lucrativos e de reconhecimento internacional,
Leia maisPython Acessando o Banco de Dados MySQL
Python Acessando o Banco de Dados MySQL ANTONIO SÉRGIO NOGUEIRA PRESIDENTE PRUDENTE SP 2009 1 Sumário 1. Introdução...3 2. Interface MySQL...3 3.Instalando o MySQLdb...3 4.Verificando se o MySQL está instalado...4
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados
Leia maisJava & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia
Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia Sistemas de Informação Ling.Prog.V Prof. Roberto Couto Lima Fonte: Curso Java Prof. Fabricio Leonard Leopoldino (Universo)
Leia maisDrupal. Desenvolvimento de Módulos
Drupal Desenvolvimento de Módulos O que é o Drupal? O que é o Drupal? Framework de gestão de conteúdo. O que é o Drupal? Framework de gestão de conteúdo. O padrão do Drupal é fornecer ferramentas para
Leia maisGBD. Introdução PROF. ANDREZA S. AREÃO
GBD Introdução PROF. ANDREZA S. AREÃO Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos) Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia mais