Abuse of Functionality уразливості в Drupal
16:12 18.02.201120.12.2010
У липні, 25.07.2010, я знайшов Abuse of Functionality уразливості в Drupal. Які я виявив під час секюріті аудиту на одному сайті. Про що найближчим часом повідомлю розробникам.
Раніше я вже писав про Brute Force та Abuse of Functionality уразливості в Drupal.
Детальна інформація про уразливості з’явиться пізніше. Спочатку повідомлю розробникам системи.
18.02.2011
Abuse of Functionality:
В системі використовується ненадійний механізм зміни пароля. В профілі користувача (http://site/user/1/edit) можна змінити пароль без знання поточного пароля. І хоча в формі використовується захист від CSRF, це не захистить від Abuse of Functionality.
Тому що з використанням XSS уразливості можна обійти даний захист і провести віддалену атаку для зміни пароля (в тому числі й адміністратора). Або ж при викраденні сесії через XSS можна зайти в акаунт і змінити пароль. Або ж це можна зробити при тимчасовому доступі до комп’ютера користувача, з якого він зайшов в свій акаунт.
Abuse of Functionality:
Окрім двох раніше згаданих методів, існують наступні методи визначення логінів користувачів.
На форумі (http://site/forum) виводяться логіни користувачів сайта, що запостили на форумі (відкрили тему або написали коментар).
В розділі Останні публікації (http://site/tracker) на сторінках “Всі останні публікації” та “Мої публікації” виводяться логіни користувачів сайта, що написали записи на сайті. Атаку можна провести лише будучи залогіненим на сайті.
В записах блога (http://site/content/post), а також в коментарях до записів блогів та на інших сторінках сайта (http://site/page) виводяться логіни користувачів сайта, що зробили запис в блозі або написали коментар.
В формі відновлення пароля (http://site/user/password) можна виявити логіни та емайли користувачів сайта. Якщо відправити невірний логін або емайл то виведеться повідомлення “Sorry, … is not recognized as a user name or an e-mail address”, а якщо відправити вірний логін або емайл, то це повідомлення не виведеться.
Уразливі Drupal 6.20 та попереднії версії (перевірено в Drupal 6.17).