Обход аутентификации в MySQL

6/07/2004 13:05

Британская компания NGSSoftware, занимающаяся клмпьютерной безопасностью, сообщает об обнаружении уязвимости в популярной в мире открытых систем СУБД MySQL. Наличие этой уязвимости позволяет удалённому пользователю полностью обойти механизм аутентификации, применяемый в этой СУБД (логин/пароль). Используя тот же самый метод, можно вызвать переполнение буфера в стэке, используемом этим механизмом, хотя подобная атака и является более сложно реализуемой. Уязвимость связана с некорректной проверкой хэша пароля в функции check_scramble_323() - при пустом поле пароля (нулевой длины) функция возвращает "нулевое" значение, что, фактически обозначает положительный результат аутентификации. Как отмечают авторы, для осуществления полноценной атаки необходимо написать свой клиент MySQL, а также знать имя пользователя. В связи с этим в качестве временной меры рекомендуется сменить стандартное имя суперпользователя (root), а также пропускать к MySQL-серверу по IP-адресам (что, зачастую, не всегда реализуемо). Уязвимости подвержены версии 1.4 (до 1.4.3) и 5.0. Разработчики - MySQL AB, устранили уязвимость в 1.4.3 и в текущих билдахх 5.0. Кроме того, NGSSoftware выпущен комплексный 22-страничный документ в PDF-формате под названием "Hackproofing MySQL", детально описывающий различные методы атак на MySQL-сервер, в том числе довольно различные варианты SQL injection.
Документ от NGSSoftware