AoF, IAA та CSRF уразливості в Question2Answer
23:57 01.03.201329.11.2012
У жовтні, 21.10.2012, я виявив Abuse of Functionality, Insufficient Anti-automation та Cross-Site Request Forgery уразливості в Question2Answer. Про що найближчим часом повідомлю розробникам системи.
Раніше я вже писав про уразливості в Question2Answer.
Детальна інформація про уразливості з’явиться пізніше. Спочатку повідомлю розробникам.
01.03.2013
Abuse of Functionality (WASC-42):
http://site/login
http://site/forgot
http://site/reset
Можливий підбір логіна/емайла (вони обидва можуть використовуватися для аутентифікації). При відсутності такого логіна/емайла, система відповідає “User not found”.
http://site/account
Можливий підбір логіна/емайла (вони обидва можуть використовуватися для аутентифікації). Якщо є такий логін, система відповідає “This username is used”. Якщо є такий емайл, система відповідає “This e-mail is used”.
Insufficient Anti-automation (WASC-21):
http://site/login
http://site/forgot
http://site/reset
На даних сторінках немає захисту від автоматизованих запитів. Що дозволяє автоматизувати Abuse of Functionality атаки.
http://site/account
Це внутрішня сторінка. Тому для автоматизації підбору логінів або емайлів спочатку потрібно зайти в акаунт. В зв’язку з відсутністю капчі в логін формі, про що я писав в попередньому записі, можливий автоматизований логін. Тому перший POST запит відправляється до http://site/login для входу, а наступні POST запити відправляються до http://site/account для підбору логінів/емайлів.
Cross-Site Request Forgery (WASC-09):
Можна захопити акаунт користувача (в тому числі адмінський акаунт) відправивши CSRF запит до http://site/account. Після відправлення запиту даним експлоітом для зміни емайла, нападнику потрібно відновити пароль на свій емайл через функцію відновлення (http://site/reset).
Експлоіт:
Комплексний експлоіт:
Уразливі всі версії Question2Answer (перевірялася версія 1.5.3). Як повідомив мені розробник, в версії Q2A 1.6 він планує додати захист від CSRF (і в січні він додав цей захист в останню dev-версію Q2A). В Question2Answer є ще багато інших уразливостей, на що я звернув увагу розробника.