Banco de Dados

SQL Injection (SQLi): Identificando o BD e extraindo dados com UNION

A maioria das técnicas demonstradas na primeira postagem sobre SQLi são efetivas contra todas as plataformas de banco de dados comuns e qualquer divergência podem ser ajustadas facilmente de acordo com a sintaxe. Entretanto, quando começamos a ver técnicas mais avançadas de exploração, as diferenças entre as plataformas começam a ser mais significante e você precisará ampliar seu conhecimento sobre o tipo de banco de dados que está sendo manipulado.

Você já viu como extrair a string de versão da maioria dos tipos de BD. Mesmo que você não consiga por algum motivo, normalmente é possível obter por outros métodos. Um dos mais viáveis é a forma que o BD concatena strings. Em uma consulta onde você controla a string de dados, você pode fornecer um valor particular em uma consulta e então testar diferentes métodos de concatenação para produzir uma string. Quando o mesmo resultado é obtido, você provavelmente identificou o tipo de BD que está sendo usado. Os próximos exemplos mostra como string pode ser construída para a maioria dos tipos de BD: (mais…)

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 sistema operacional onde o servidor executa. Os usuários possuem objetos de banco de dados (por exemplo, tabelas), e podem conceder privilégios nestes objetos para outros usuários controlando, assim, quem pode acessar qual objeto. (mais…)

Conceitos sobre Segurança em Banco de Dados

Os bancos de dados são utilizados para armazenar diversos tipos de informações, desde dados sobre uma conta de e-mail até dados importantes da Receita Federal. A segurança do banco de dados herda as mesmas dificuldades que a segurança da informação enfrenta, que é garantir a integridade, a disponibilidade e a confidencialidade. Um Sistema gerenciador de banco de dados deve fornecer mecanismos que auxiliem nesta tarefa.

Os bancos de dados SQL implementam mecanismos que restringem ou permitem acessos aos dados de acordo com papeis ou roles fornecidos pelo administrador. O comando GRANT concede privilégios específicos para um objeto (tabela, visão, seqüência, banco de dados, função, linguagem procedural, esquema ou espaço de tabelas) para um ou mais usuários ou grupos de usuários. (mais…)

7 deveres de casa para uma melhor segurança do data base em 2012

Agora é a hora perfeita para olhar processos e tecnologias e reavaliar quão bom eles realmente são, já que nesta época as organizações se preparam para um novo ano. No nível de data base, há uma série de atividades fundamentais que muitas organizações continuam a não realizar de forma eficaz. (mais…)

O modelo ACID

O modelo ACID é um dos mais velhos e importantes conceitos da teoria de Banco de Dados. Ele define quatro pontos que todos os SGBD devem ter: atomicidade, consistência, isolamento e durabilidade. Qualquer BD que não atinja algum desses pontos pode ser considerado não confiável. (mais…)

Introdução a Linguagem SQL: Comandos Básicos e Avançados – Parte 1

O SQL, Structured Query Language, é a linguagem utilizada pelos Banco de Dados Relacionais (BDR) modernos, sendo ela, as vezes, a única forma de você interagir com o BD em si. Todas as telas gráficas e programas que administram os BDs, nada mais é que um tradutor da funcionalidades do SQL. Eles realizam as ações que o usuário realiza na parte gráfica e converte os comandos para o SQL interagir com o BD.

(mais…)

Modelagem Conceitual, Lógica e Física de Dados

 

A modelagem de dados é o primeiro passo em nosso projeto na criação de um banco de dados, pois é nele que criamos um modelo de dados específico para um determinado domínio.

(mais…)

Relacionamentos em um Banco de Dados

Algumas das dificuldades de quem começa os estudos de BD é entender as suas relações, que permitem que você organize uma consulta e possa ver os dados de uma nova maneira, o que dá o nome de Banco de Dados de “Relacional”.

Existem três tipos de relacionamentos e cada um deles tem o seu nome de acordo com os registros dos relacionamentos que estão acontecendo. (mais…)

Entendendo as Chaves dos Bancos de Dados

Banco de DadosO conceito básico de chave de um BD é que é uma ou mais colunas que distiguem uma linha das demais dentro de uma tabela, sendo esta chamada de chave primária (PK – Primary Key) ou para relacionar com outra tabela, chamada de chave estrangeira (FK – Foreign Key). Essas chaves é que determinam a unicidade de cada registro dentro de uma tabela.

Esta unicidade dos registros, determinada pela chave, é fundamental para a criação de índices.

(mais…)

As regras de Codd para Bancos de Dados Relacionais

Edgar Frank Codd

Edgar Frank Codd

Dr. Edgar Frank Codd, o criador dos bancos de dados relacionais, publicou uma lista de 12 regras que definem os Sistemas de Banco de Dados Relacional (SBDR) na Computerworld, de 14 e 21 de outubro de 1985, com o título “Is your DBMS Really Relational?” e “Does Your DBMS Run by the Rules?”.

Sua preocupação era que os fornecedores comercializassem seus produtos como relacionais, ainda que não estivessem sendo atendidas as regras mínimas dos padrões. Suas regras servem como modelo de referência sobre o que deve ser um Banco de Dados Relacional.

É muito comum você encontrar publicações falando que são 12 regras, e menos comum sendo 13 regras. O que acontece na verdade, é que são 13 regras que são enumeradas do 0 (zero) até o 12 (doze). Veja abaixo quais são essas regras:

(mais…)