Comando Sql
#1
Posted 17/01/2006, 18:22
tipo existe sites na internet vulneravel a esse comando como ja constatei estudo segurança da informaçao e gostaria de saber como esse comando age quando digitamos em um site vulneral.
pois quando digitado ele se loga no site como um usuario cadastrado, na pratica sei oq faz, mas nao teoria como o servidor reage ao ser digitado isso eu nao sei.
desde ja agradeço, se alguem poder orientar ai valeu
#2
Posted 18/01/2006, 09:12
Veja como pode ser feito, vamos supor o seguinte código SQL:
select nome, usuario, nivel from usuario
where usuario='variavel post' and senha='variavel post'
Os dados são enviados por meio de um formulário, vamos supor que o usuário mal intencionado insira os dados admin para usuário e ' or ''=' para senha.
Então, vamos ver como ficaria o comando:
select nome, usuario, nivel from usuario
where usuario='admin' and senha='' or ''=''
Como podemos observar, a clausula "montada" vai ficar senha='' or ''='', isto ocasiona no acesso, por que a senha não será verificada com a que esta armazenada na base de dados, porém, o cara precisa "advinhar" o nome de um usuário para acessar, no caso, ele vai tentar alguns nomes padrões, como: admin, administrador, adm, super, root, controle, etc.
Mero mortal!
#3 computer
Posted 18/01/2006, 10:24
Olá Prog(OS),Isto esta relacionado a um ataque de SQL Inject.
Veja como pode ser feito, vamos supor o seguinte código SQL:select nome, usuario, nivel from usuario
where usuario='variavel post' and senha='variavel post'
Os dados são enviados por meio de um formulário, vamos supor que o usuário mal intencionado insira os dados admin para usuário e ' or ''=' para senha.
Então, vamos ver como ficaria o comando:select nome, usuario, nivel from usuario
where usuario='admin' and senha='' or ''=''
Como podemos observar, a clausula "montada" vai ficar senha='' or ''='', isto ocasiona no acesso, por que a senha não será verificada com a que esta armazenada na base de dados, porém, o cara precisa "advinhar" o nome de um usuário para acessar, no caso, ele vai tentar alguns nomes padrões, como: admin, administrador, adm, super, root, controle, etc.
Existem vários tipos de ataque SQL Injection.
Entre eles, existe ' or 0=0--.
E no formulário login, pode se colocar assim:
Login: admin
Senha: ' or 0=0--
E a consulta SQL fica:
SELECT * FROM users WERE username = 'admin' AND password = '' or 0=0--'
Querendo dizer: Procurar todos os usuários que o nome for admin e a senha estiver em branco ou 0 for igual a 0 (é lógico que sim).
Se fizer isso, e haver um usuário admin, o cara entrou no seu sistema.
Edição feita por: computer, 18/01/2006, 10:26.
#4
Posted 19/01/2006, 07:37
Falem mais sobre essa técnica de invasão... Ataque de SQL Inject
Abraço
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)