Eliminando Caracteres Não Alpha Numéricos da Session ID no JBoss AS 7.1.1

Postado em

Olá,

Existem algumas situações em que a session id gerada pelo JBoss Web não pode conter caracteres não alpha numéricos ou seja caracteres de A a Z, incluindo maiúsculas e minúsculas. Números também estão incluso nesse conjunto.

Existe uma propriedade chamada SESSION_ID_ALPHABET que permite restringir apenas alpha numérico no session id.

Vamos aos testes!  Vou utilizar uma instância standalone e JAAS Properties based configuration.

O primeiro passo é adicionar um usuário com que utilize a realm de nome ApplicationRealm. Para isso basta executar o script em JBOSS_HOME/bin/standalone.bat ou JBOSS_HOME/bin/standalone.sh

users

Perceba que eu adicionei um usuário chamado magnani com a role ADMINISTRATOR para a realm ApplicationRealm.

Eu vou deixar aqui uma aplicação web já configurada bastando apenas realizar deploy para realizar os testes.

No meu primeiro teste a session id foi gerada no seguinte formato: JSESSIONID=uJn14dUJSU1BUF+QGZNVI3tQ.undefined. Observe que o caractere + foi utilizado na string da session.

SessionOne

Para limitar a geração da session id somente a alpha numéricos adicione a propriedade SESSION_ID_ALPHABET no standalone.xml.

Utilizando o JBoss CLI execute:


./system-property=org.apache.catalina.session.ManagerBase.SESSION_ID_ALPHABET:add(value="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")

Realize o login novamente e perceba que agora  a session id foi gerada no seguinte formato: JSESSIONID=qoEaQs9nbziCF1K4p2KsVMsm.undefined.

 

SessionTwo

O objetivo foi atingindo🙂

Essa entrada no JBoss CLI gerou uma system propertie como abaixo:


<system-properties>
<property name="org.apache.catalina.session.ManagerBase.SESSION_ID_ALPHABET" value="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"/>
</system-properties>

 

Espero que isso seja útil!

Abraços

Fonte: https://community.jboss.org/thread/202387

2 comentários em “Eliminando Caracteres Não Alpha Numéricos da Session ID no JBoss AS 7.1.1

    Mauricio Magnani Jr respondido:
    19 de junho de 2013 às 2:31

    Apenas uma coisa! Percebam que ele está lançando um Exeception a solução está na thread que deixei como referência😀

    https://community.jboss.org/thread/202387

    marcelomrwin disse:
    29 de junho de 2013 às 12:40

    Grande Mauricio. Meu amigo estava aqui avaliando esta solução. Por um lado acho bacana você ter caracteres mais fáceis para nós. Por outro sei que a combinação é realmente gigantesca, fatorial 64 dá um montão de combinação. Você consegue enxergar um outro motivo para incluir caracteres especiais no id da sessão que não seja com o objetivo de aumentar a segurança e evitar clonagem/rápto de sessão ou afins?

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s