
CVE-2012-2122 MySQL/MariaDB 인증 우회 취약점을 위한 Docker 기반 익스플로잇 환경입니다. 잘못된 자격 증명으로 로그인을 허용하는 비밀번호 비교 결함을 시연합니다.
MariaDB/MySQL에 연결할 때 입력된 비밀번호가 예상되는 올바른 비밀번호와 비교됩니다. 잘못된 처리로 인해 memcmp()가 0이 아닌 값을 반환하더라도 MySQL이 두 비밀번호를 동일한 것으로 간주합니다. 즉, 사용자 이름만 알면 계속 시도하여 SQL 데이터베이스에 직접 로그인할 수 있습니다.
영향 받는 버전:
참고 링크:
테스트 결과, 이 환경은 컨테이너 내부에서 실행되지만 취약점 재현 가능 여부는 호스트 머신과도 어느 정도 관련이 있습니다. 호스트 머신은 Ubuntu 또는 Mac 시스템이 가장 좋지만, 반드시 성공한다는 보장은 없습니다. 더 많은 테스트 결과를 Issue에 제출해 주시기 바랍니다.
다음 명령을 실행하여 테스트 환경을 시작합니다:
docker-compose up -d
환경이 시작되면 MySQL 서비스(버전: 5.5.23)가 3306 포트에서 수신 대기합니다. 일반 MySQL 클라이언트를 사용하여 직접 로그인할 수 있으며, 올바른 root 비밀번호는 123456입니다.
환경의 올바른 비밀번호를 모르는 상태에서 bash에서 다음 명령을 실행하면 일정 횟수 시도 후 성공적으로 로그인할 수 있습니다:
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done

더 많은 테스트 및 활용 방법은 참고 링크를 참조하십시오.