- Postagens: 75
- Obrigados Recebidos: 0
- Fórum
- /
- Suporte Joomla
- /
- Componentes
- /
- Joomla 2.x
- /
- Seblod - Brecha na segurança no cadastro de usuário
Seblod - Brecha na segurança no cadastro de usuário
- lucas.fernandes
-
Autor do Tópico
- Offline
- JCB! Junior
-
Menos
Mais
12 anos 8 meses atrás #85149
por lucas.fernandes
[b:121cuzc1][color=#BF0000:121cuzc1]Lucas Muniz[/color:121cuzc1][/b:121cuzc1]
Designer
[url=http://www.struturadesign.com.br/portfolio:121cuzc1]struturadesign.com.br/portfolio[/url:121cuzc1]
lucas.fernandes created the topic: Seblod - Brecha na segurança no cadastro de usuário
Galera, estava olhando o código fonte do formulário de cadastro da minha página, com seblod, e descobri uma baita brecha na segurança.
No seblod, defini o grupo de usuário onde a pessoa deve ser registrada, com um campo text (em hidden).
No código fonte da página aparece assimE é aí que mora o perigo.
Vejam bem, com o firebug alterei o html e coloquei ' value="7" '. 7 é o grupo padrão dos administradores. E quando cliquei em registrar, vualá. Meu usuário foi registrado como administrador ao invés do grupo que eu havia definido. Assim tive acesso ao admin do site e a todos os componentes.
Tentei criar um superadmin (por padrão: value=
, mas o sistema não permite a criação de superadmins pelo frontend, então não foi possível. Mas, pensando bem, superadmin pra que? Um simples administrador é capaz de fazer um bom estrago no seu site.
E agora?
Bom, estudei bastante isso e encontrei algumas coisas que vocês podem fazer para bloquear isso. Para começar, isso só é possível se você tiver adicionado um campo no seblod que controla o grupo de usuário. Se não houver este campo no seblod, mesmo adicionando o html, não funcionará.
Beleza, mas e quem precisa especificar o grupo em que o usuário será registrado, como é o meu caso?
É fácil, altere os grupos de usuários. Se seu site não tem administradores, simplesmente remova os grupos de usuário não usados. E defina na 'Configurações Globais' que somente o superadmin possa acessar o admin do site.
E se houver a necessidade de permitir que um grupo acesse o admin?
Simples também! Você pode criar um grupo com um id distante.
Basta ir na administração da sua hospedagem e acessar o phpmyadmin (também funciona localhost), lá você acessa o banco do seu site e a tabela jos_usergroups. Encontre a linha do seu grupo novo e altere a id dele. Coloque, por exemplo, 63. Após isso, de volta ao adm do Joomla, defina o grupo de acesso e os usuários que farão parte desse grupo. Assim tudo será associado ao novo id do grupo. Se configurar o grupo de acesso e os usuários antes de alterar a ID, eles perderão a referência e o grupo não funcionará.
Bom, se alguém for tentar alterar o campo do grupo de usuário via html, terá que dispor de um booooom tempo e muuuitas contas de e-mail até chegar ao nosso fictício id 63.
Outra coisa é definir que os novos usuários precisem ser ativados manualmente após o registro, para efetuar o login.
O sistema envia automaticamente a chave para o email do cliente ativar sua conta. Se você perceber que muitos usuários estranhos estão se cadastrando, é só desativar o envio da autenticação, o que impossibilitará o registro do 'mal usuário'.
Bom. Espero que esse tópico ajude a todos que utilizem o Seblod. Levei um bom tempo para testar as opções e escrever isso tudo. Se alguém com conhecimento superior ao meu em seblod (o que não é difícil, pois sou iniciante no sistema) e mysql; e quiser deixar suas opiniões e sugerir outras dicas de segurança, por favor, deixem aqui suas experiências. Serão bem vindas.
Um grade abraço a todos.
Boa noite e fiquem com Deus.
No seblod, defini o grupo de usuário onde a pessoa deve ser registrada, com um campo text (em hidden).
No código fonte da página aparece assim
<input class="inputbox" type="hidden" id="user_group_id" name="user_group_id" value="9">
Vejam bem, com o firebug alterei o html e coloquei ' value="7" '. 7 é o grupo padrão dos administradores. E quando cliquei em registrar, vualá. Meu usuário foi registrado como administrador ao invés do grupo que eu havia definido. Assim tive acesso ao admin do site e a todos os componentes.
Tentei criar um superadmin (por padrão: value=

E agora?
Bom, estudei bastante isso e encontrei algumas coisas que vocês podem fazer para bloquear isso. Para começar, isso só é possível se você tiver adicionado um campo no seblod que controla o grupo de usuário. Se não houver este campo no seblod, mesmo adicionando o html, não funcionará.
Beleza, mas e quem precisa especificar o grupo em que o usuário será registrado, como é o meu caso?
É fácil, altere os grupos de usuários. Se seu site não tem administradores, simplesmente remova os grupos de usuário não usados. E defina na 'Configurações Globais' que somente o superadmin possa acessar o admin do site.
E se houver a necessidade de permitir que um grupo acesse o admin?
Simples também! Você pode criar um grupo com um id distante.
Basta ir na administração da sua hospedagem e acessar o phpmyadmin (também funciona localhost), lá você acessa o banco do seu site e a tabela jos_usergroups. Encontre a linha do seu grupo novo e altere a id dele. Coloque, por exemplo, 63. Após isso, de volta ao adm do Joomla, defina o grupo de acesso e os usuários que farão parte desse grupo. Assim tudo será associado ao novo id do grupo. Se configurar o grupo de acesso e os usuários antes de alterar a ID, eles perderão a referência e o grupo não funcionará.
Bom, se alguém for tentar alterar o campo do grupo de usuário via html, terá que dispor de um booooom tempo e muuuitas contas de e-mail até chegar ao nosso fictício id 63.
Outra coisa é definir que os novos usuários precisem ser ativados manualmente após o registro, para efetuar o login.
O sistema envia automaticamente a chave para o email do cliente ativar sua conta. Se você perceber que muitos usuários estranhos estão se cadastrando, é só desativar o envio da autenticação, o que impossibilitará o registro do 'mal usuário'.
Bom. Espero que esse tópico ajude a todos que utilizem o Seblod. Levei um bom tempo para testar as opções e escrever isso tudo. Se alguém com conhecimento superior ao meu em seblod (o que não é difícil, pois sou iniciante no sistema) e mysql; e quiser deixar suas opiniões e sugerir outras dicas de segurança, por favor, deixem aqui suas experiências. Serão bem vindas.
Um grade abraço a todos.
Boa noite e fiquem com Deus.
[b:121cuzc1][color=#BF0000:121cuzc1]Lucas Muniz[/color:121cuzc1][/b:121cuzc1]
Designer
[url=http://www.struturadesign.com.br/portfolio:121cuzc1]struturadesign.com.br/portfolio[/url:121cuzc1]
Please Entrar ou Registrar to join the conversation.
- Uriel
-
- Offline
- JCB! Legend
-
12 anos 8 meses atrás #85166
por Uriel
Uriel replied the topic: Re: Seblod - Brecha na segurança no cadastro de usuário
Seria uma boa mostrar isso para os Desenvolvedores do Seblod
Link para isso >> http://www.seblod.com/support/tracker.html
abraço
Link para isso >> http://www.seblod.com/support/tracker.html
abraço
Please Entrar ou Registrar to join the conversation.
- leonardorec
-
- Offline
- JCB! Novato
-
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
12 anos 8 meses atrás #85184
por leonardorec
Leonardo Miranda
[url:20vfxjzx]http://www.leomiranda.com[/url:20vfxjzx]
Twitter: _leomiranda
Facebook: leonardomir
jCursos - Cursos online de Joomla
[url:20vfxjzx]http://www.jcursos.com.br[/url:20vfxjzx]
leonardorec replied the topic: Re: Seblod - Brecha na segurança no cadastro de usuário
Leonardo Miranda
[url:20vfxjzx]http://www.leomiranda.com[/url:20vfxjzx]
Twitter: _leomiranda
Facebook: leonardomir
jCursos - Cursos online de Joomla
[url:20vfxjzx]http://www.jcursos.com.br[/url:20vfxjzx]
Please Entrar ou Registrar to join the conversation.