4 de setembro de 2023 - Frederico Marinho
Admin do Prestashop 1.7 entra em loop no login
Enfrentamos um desafio enjoado recentemente que foi resolver um problema de loop ao tentar logar no admin do Prestashop de um cliente, versão 1.7. Ao acessar a tela de login e tentar logar, voltava para a tela de login novamente.
De cara já imaginamos que fosse algum tipo de invasão, e estávamos certos: depois de identificar um script que corrigia o problema, identificamos também os arquivos alterados.
Um jeito simples de resolver o problema é restaurar algum backup recente, antes da invasão, mas nem sempre isso é possível e nem sempre é a melhor solução.
Vamos então para a forma que encontramos sem restaurar backup.
Script Cleaner
Encontramos um conteúdo em francês explicando o funcionamento do script Cleaner, que limpa arquivos infectados no Prestashop. Esse tópico especificamente foi criado para Prestashop 1.6 mas funcionou perfeitamente no 1.7.
- Script em francês para corrigir arquivos infectados: https://shop.devcustom.net/fr/content/16-nettoyage-hack
Pra facilitar, encontramos outro conteúdo em inglês explicando detalhes do funcionamento do script e outros métodos de prevenção de invasões. Esse aqui: https://www.mediacom87.fr/en/how-to-prevent-hacking-on-prestashop-and-thirty-bees/.
O problema é que somente rodar o script não resolveu, aliás, resolve e você consegue logar no admin, mas é só sair e tentar entrar de novo que não funciona. Os arquivos são infectados novamente.
A solução
Fizemos um truque baseado nas instruções que é rodar o script Cleaner e depois substituir todos os arquivos identificados como infectados pelos arquivos originais de uma instalação na mesma versão.
- Fazer download do script aqui: https://devcustom.net/public/scripts/cleaner.zip
Caso esse link acima pare de funcionar, use nosso link: https://www.fredericomarinho.com/cleaner.zip
- Jogar o arquivo cleaner.php na raiz do site.
- Acessar o arquivo cleaner.php pelo browser: http://www.seusite.com.br/cleaner.php
- Substituir os arquivos que o script identificar como infectados pelo originais da instalação na mesma versão que a sua loja. No nosso caso, foram:
- controllers/AdminLoginController.php
- js/admin/*
- No topo esquerdo do admin você identifica a versão do seu prestashop:
- Aqui você encontra a versão original de todas as versões do Prestashop: https://prestashop.com/versions/
————
Conta pra gente nos comentários se funcionou pra você!
0
Deixe um comentário