Falha de segurança ao usar SESSION

Esse área é só para dicas de segurança de códigos fonte, pastas, etc...

Moderador: web

responder a dúvida

Falha de segurança ao usar SESSION

Mensagem por web Offline » Sex Fev 25, 2011 11:58 pm


Vou dar uma dica aqui para quem usar SESSION para não deixar uma brecha para invasão.

Muita gente faz o seguinte, cria um sistema, ai, quando o usuário faz o login e está tudo ok, é criado uma SESSION com um valor para comparar com o banco de dados MySQL. Ai é que está o problema.

Porque muita gente coloca um valor banal, tipo o email, ex.:

$_SESSION['email'] = "$email";

Ai no MySQL tem

SELECT * FROM tabela WHERE email='".$_SESSION['email']."'

Isso é uma falha, porque?
Se a pessoa conhece algum email cadastrado no seu bd, pode simplesmente criar uma SESSION localmente, e depois acessar uma página protegida do seu site. Como é simplesmente comparado o email da SESSION com uma coluna, o email existindo no bd, vai dar acesso para o invasor entrar.

Qual a solução?

Uma solução seria criar 2 SESSIONS logo depois que o usuário fizer o login correto, um para o login ou email e um para a senha dele "de preferência criptografada".

Com isso, a permissão de acesso ao bd passa a depender de 2 valores, login e senha armazenados na SESSION.
=]
Como a senha da SESSION está criptografada, vai ficar bem difícil alguém conseguir saber a senha original para aquele login para tentar usar no acesso.



detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil

Falha de segurança ao usar SESSION

Mensagem por jamilservicos Offline » Qua Fev 29, 2012 7:51 pm

outra forma basica sem por senha em session ou cookie, seria salvar os dados da session em banco de dados com expire!
então mesmo que alguem roube uma session valida a mesmo seria validada com a salva no banco!
outra dica é na session incluir o navergador + ip em uma variavel da session!

Eu costumo colocar um validação de tempo nas minhas sessions! se ficar sem atividade por um certo tempo, ela expira forçando o usuario relogar!
Assim também serve de segurança para quem usa de cybers e esquece a janela aberta porque o computador travou!
dando assim a chance de quem usar depois continuar na session aberta!

detalhes...


jamilservicos
MEMBRO
MEMBRO
Mensagens: 11
Registrado em: Dom Jan 20, 2008 5:45 pm
Localização: para/belem/brasil

Falha de segurança ao usar SESSION

Mensagem por web Offline » Qua Fev 29, 2012 8:45 pm

Bem pensado. ;)

detalhes...

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.

Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com

Avatar do usuário
web
ADMIN
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil


responder a dúvida

Voltar para Dicas de segurança

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante