The login page is the most important page on the site since with the help of it we understand to give access to this or that user. Most often, hackers crack this particular functionality, in order to get access to the accounts, especially access to admin accounting. Using the Burp Suite tool and beef, I'll show you how you can check it out.
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Svyatoslav Login "How to test authentication and authorization for security"
1.
2. - QA gangsta Lead в
- Больше 5 лет тестирую на наличие Web уязвимостей
- Больше 8 лет в тестировании
- Провожу обучение по Security testing в Start-it
- Веду блог по Security testing https://svyat.tech
- Веду телеграмм канал https://t.me/qa_security
Свят Логин
6. SQL injection2FA или Двухфакторная аутентификация
- SMS не надо плиз)))
- QR-code
- Push
- One-time password
7. SQL injectionOWASP Testing Guide
1. Testing for Credentials Transported over an Encrypted Channel
2. Testing for Default Credentials
3. Testing for Weak Lock Out Mechanism
4. Testing for Bypassing Authentication Schema
5. Testing for Browser Cache Weaknesses
6. Testing for Weak Password Policy
7. Testing for Weak Security Question Answer
8. Testing for Weak Password Change or Reset Functionalities
9. Testing for Weaker Authentication in Alternative Channel
11. SQL injectionЧто проверить
- Распространенные дефолтные имена (admin, root, guest, test)
- Названия учетки в честь приложения test.com - test/test
- Все верхние пункты с пустыми паролями
- Пароль у вновь созданного пользователя
- Если есть автогенерация, определить, чтоб не было
последовательных генераций типа user7811
19. SQL injectionРиски, которые стоит учитывать:
1. Каков риск подбора пароля для приложения?
2. Достаточно ли CAPTCHA для снижения этого риска?
3. Используется ли механизм блокировки на стороне клиента?
4. Каков порог срабатывания блокировки?
29. SQL injectionЧто проверить
1. Какие символы разрешено и запрещено использовать в пароле?
2. Как часто пользователь может менять свой пароль?
3. Когда пользователь должен изменить свой пароль?
4. Как часто пользователь может повторно использовать пароль?
5. Насколько следующий пароль должен отличаться от последнего пароля?
6. Какова минимальная и максимальная длина пароля?
7. Запрещается ли пользователю использовать свое имя в качестве пароля?
31. SQL injectionЧто проверить
Плохие:
- Ответы могут быть известны близким, например «Какая девичья фамилия?
- Ответы можно легко угадать, например, «Какой твой любимый цвет?»
- Ответы могут быть общедоступными, например "Какой твой любимый фильм?" - ответ
можно легко найти на странице профиля пользователя в социальной сети.
Хороший:
Как называется ваша первая игрушка?
33. SQL injectionЧто проверить
1. Есть ли пользователи, кроме администраторов, которые могут изменять
или сбрасывать пароли для учетных записей, кроме своих собственных,
конечно же))
2. Найти, нету ли в смене или сброса паролей уязвимость для CSRF.
3. Понять какая информация требуется для сброса пароля?
4. Как сообщается пользователю про сброс пароля?
5. Сброшенный новый пароль генерируются случайным образом?
6. Требует ли функция подтверждения для сброса пароля перед изменением?
7. Требуется ли старый пароль для завершения изменения?
35. SQL injectionЧто проверить
Есть сайт:
http://www.example.com
Есть аутентификация, с использованием Transport Layer Security:
https://www.example.com/myaccount/
А есть аутентификация для мобильного веба, без Transport Layer Security:
http://m.example.com/myaccount/
36. SQL injectionЧто проверить
Понять первичный механизм
Определить другие каналы
-- файл robots.txt, sitemap.xml и тд.
-- поиск в логах HTTP проксях «mobile», «mobile app»,«auth»,« sso» и тд
-- поиск разных веб-сайтов одной организации или с одинаковым доменном
37.
38.
39. SQL injectionOWASP Testing Guide
1 Testing Directory Traversal File Include
2 Testing for Bypassing Authorization Schema
3 Testing for Privilege Escalation
4 Testing for Insecure Direct Object References
52. SQL injection
Случай, когда значение параметра используется
непосредственно для выполнения операции в
системе
http://foo.bar/changepassword?user=someuser
53. SQL injection
Случай, когда значение параметра используется для
получения записи из базы данных
http://foo.bar/somepage?invoice=12345