Weak Password уразливість в WordPress
23:51 23.04.2008В WordPress 2.0.x (а також в наступних версіях, потенційно до 2.3.3 включно) є Weak Password уразливість. На котру я звернув увагу ще в 2006 році, як почав використовувати WP.
Дефолтний пароль при інсталяції: 6 символів і невеликий алфавіт (бо застосовується md5).
В системі використовується наступний алгоритм генерації паролю:
$random_password = substr(md5(uniqid(microtime())), 0, 6);
Враховуючи, що алфавіт всього 16 символів, а довжина - 6 символів, то всього можливих комбінацій: 16^6 = 16777216.
Враховуючи дані умови, а також те, що в системі є Abuse of Functionality уразливість, яка дозволяє підбирати логіни користувачів, та Brute Force уразливіть, яка дозволяє підбирати паролі, можна провести брутфорс атаку на сайт.
Підбір пароля (при 10 запитах в секунду):
Запитів: 16777216.
Час: 1677721,6 секунд = 19,42 днів.
В версії WordPress 2.5 ситуація краще.
Використовується функія wp_generate_password. Дефолтний пароль при інсталяції: 7 символів і нормальний алфавіт (62 символи). Всього можливих комбінацій: 62^7 = 3521614606208.