
Ambiente de exploração baseado em Docker para a vulnerabilidade de bypass de autenticação CVE-2012-2122 do MySQL/MariaDB. Demonstra a falha de comparação de senha que permite login com credenciais incorretas.
Ao conectar ao MariaDB/MySQL, a senha fornecida é comparada com a senha correta esperada. Devido a um processamento incorreto, mesmo que a função memcmp() retorne um valor diferente de zero, o MySQL considera as duas senhas como iguais. Ou seja, basta conhecer o nome de usuário e realizar tentativas sucessivas para conseguir acessar o banco de dados SQL diretamente.
Versões afetadas:
Links de referência:
Após testes, este ambiente, embora seja executado dentro de um contêiner, a possibilidade de reproduzir a vulnerabilidade ainda depende da máquina host. O ideal é que o host seja um sistema Ubuntu ou Mac, mas não há garantia de sucesso. Fique à vontade para enviar mais resultados de testes na seção de Issues.
Execute o comando abaixo para iniciar o ambiente de teste:
docker-compose up -d
Após a inicialização do ambiente, um serviço MySQL (versão: 5.5.23) será iniciado, escutando na porta 3306. Com um cliente MySQL normal, é possível fazer login diretamente. A senha correta do root é 123456.
Sem conhecer a senha correta do nosso ambiente, execute o seguinte comando no bash. Após um certo número de tentativas, o login poderá ser bem-sucedido:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done

Mais métodos de teste e exploração, veja os links de referência.