Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tdeecken

Admentor - Falha Grave de Segurança!

Recommended Posts

Olpa Pessoal!

 

Essa é para quem usa o sistema de banner rotativo Admentor ou o Admentorbr.

 

Li recentemente num Fórum em inglês (me perdoem não ter agora) que existe uma falha na instrução do SQL que faz com que se aceite o seguinte login e password em qualquer sistema de banner admentor ou admentorbr:

 

login: ' or ''='

password: ' or ''='

 

Bem, isso significa que qualquer pessoa pode entrar no seu link, por exemplo: http://www.exemplo.com.br/admentor/admin/admin.asp e se logar com sucesso com estes dados.

 

O cara pode deletar todos os banners... percebem a gravidade da situação?

 

Bem, há como resolver isso. Não sou mestre nisso mas creio q minha idéia é boa, pois funcionou.

 

Primeiro altere seu login no sistema para um login de e-mail, por exemplo:

 

login: seu@mail.com.br

password: 1234

 

Vá ao seu Dreamweaver e abra o arquivo 'login.asp' e clique no botão 'submit' do formulário. Em seguida, vá ao painel 'behavior' e clique em 'validate form'.

 

No meu caso, validei o campo login do formulário de forma com que no login fosse 'requerido' e como 'e-mail adress'. Ou seja, se não colocar um e-mail com @ não loga, pois virá o aviso em javascript.

 

Bem, pra melhorar, validei o campo password com 'somente números'.

 

Testei e aprovei.

 

Bem, é uma solução rápida para esse caso, já que não precisa se criar novas variáveis nos scripts, etc. Se alguém tem mais soluções, q apresente.

 

Espero ter colaborado!

 

Um grande abraço,

 

Tiago Deecken

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olpa Pessoal!Essa é para quem usa o sistema de banner rotativo Admentor ou o Admentorbr.Li recentemente num Fórum em inglês (me perdoem não ter agora) que existe uma falha na instrução do SQL que faz com que se aceite o seguinte login e password em qualquer sistema de banner admentor ou admentorbr:login: ' or ''='password: ' or ''='Bem, isso significa que qualquer pessoa pode entrar no seu link, por exemplo: http://www.exemplo.com.br/admentor/admin/admin.asp e se logar com sucesso com estes dados.O cara pode deletar todos os banners... percebem a gravidade da situação?Bem, há como resolver isso. Não sou mestre nisso mas creio q minha idéia é boa, pois funcionou.Primeiro altere seu login no sistema para um login de e-mail, por exemplo:login: seu@mail.com.brpassword: 1234Vá ao seu Dreamweaver e abra o arquivo 'login.asp' e clique no botão 'submit' do formulário. Em seguida, vá ao painel 'behavior' e clique em 'validate form'.No meu caso, validei o campo login do formulário de forma com que no login fosse 'requerido' e como 'e-mail adress'. Ou seja, se não colocar um e-mail com @ não loga, pois virá o aviso em javascript.Bem, pra melhorar, validei o campo password com 'somente números'.Testei e aprovei.Bem, é uma solução rápida para esse caso, já que não precisa se criar novas variáveis nos scripts, etc. Se alguém tem mais soluções, q apresente.Espero ter colaborado!Um grande abraço,Tiago Deecken

Acho mais simples apenas tratar as ' na hora de logar .. ou seja, trocando aspas simples para aspas duplas ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha amigo,você foi tão breve na sua dica q não deu nem para pensar na sua dica. Será q você entendeu a situação?Ou sua dica se refere a criar uma variável q cancela ' ou "?Sinceramente, desculpe minha ignorância, mas não te entendi.Um abraço,Tiago Deecken

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha amigo,você foi tão breve na sua dica q não deu nem para pensar na sua dica. Será q você entendeu a situação?Ou sua dica se refere a criar uma variável q cancela ' ou "?Sinceramente, desculpe minha ignorância, mas não te entendi.Um abraço,Tiago Deecken

Tiago Deeckenvoce acaba tendo este problemas por uma montagem falha na instrução SQL ou seja " select * from tabela where campo = ' " & variavelasp & " ' "Se voce colocara na variavel asp ' and campo = 'adminficaria assim " select * from tabela where campo = ' ' and campo = 'admin' "sendo assim voce conseguiria inserir condições na instrução SQL ... até mesmo deletar a tabela ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!Prezado Alexandre, valeu pela dica... não sabia se era velha esta falha, provavelmente desde q existe o código mas achei interessante postar pq a cada dia outros acabam adotando esse script.E sosnilc, eu não entendo muito mas grato pela sua dica.Mas tenho uma pergunta... como coloquei na tabela de login a validação do form, q agora exige um e-mail como login e números como senha, já testei e não roda mais com o login e senha ' or ''=' (isso pq vem a msg em javascript pedindo os dados, da validação q fiz)... vcs acham q posso usar este sistema mais tranquilo, ou continuo com a mesma vulnerabilidade de antes?Agradeço as dicas!Um grande abraço,Tiago Deecken

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!Prezado Alexandre, valeu pela dica... não sabia se era velha esta falha, provavelmente desde q existe o código mas achei interessante postar pq a cada dia outros acabam adotando esse script.E sosnilc, eu não entendo muito mas grato pela sua dica.Mas tenho uma pergunta... como coloquei na tabela de login a validação do form, q agora exige um e-mail como login e números como senha, já testei e não roda mais com o login e senha ' or ''=' (isso pq vem a msg em javascript pedindo os dados, da validação q fiz)... vcs acham q posso usar este sistema mais tranquilo, ou continuo com a mesma vulnerabilidade de antes?Agradeço as dicas!Um grande abraço,Tiago Deecken

Infelizmente não .. pois se eu salvar sua página no meu desktop eu consigo alterar a validação dos campos que voce tem e mesmo assim submeto a página com qualquer valor no login e na senha, inclusive com o maxlenght diferente do que voce espeficicou ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado sosnilc!Mais uma vez, obrigado!Mas andei vendo uma coluna aqui do Imasters, de 13/12/2002, do Oscar Pires, que fala assim:Bloquear acesso externo Quando desenvolvia uma aplicação que pegava valores de um form, os processava e gravava num banco de dados, notei uma possibilidade importante que se fosse enviado tais informações de outro site com o mesmo input, ele iria processar como se fosse do meu site.. É aí que a coisa complica... Vamos lá: A solução é bloquear totalmente o acesso externo, inclusive acesso nulo (por exemplo quando uma pessoa entra arquivo.asp direto no browser)Segue o código comentado:<%'Se não vier do meu dominio ou vim em branco vai bloquearIF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") and Request.ServerVariables("HTTP_REFERER") = "" THENresponse.write "ACESSO BLOQUEADO"ELSE%>Aqui ficará sua página normal<%End IF%>Será q seu inserir isso na página login.asp me ajuda?Um grande abraço,Tiago Deecken

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.