28 Лют, 2023

Порушена авторизація на рівні функцій

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

Авторизація на рівні порушених функцій (BFLA) це вразливість системи безпеки, яка виникає, коли додатку не вдається належним чином забезпечити контроль доступу до своїх функцій або ресурсів. Це дозволяє зловмиснику виконувати дії або отримувати доступ до ресурсів, доступ до яких не має бути вирішено.

Приклад уразливого коду на різних мовах програмування:


в Python:

				
					def delete_user_account(request, user_id):
    # Check if the user making the request is authorized
    if request.user.is_admin:
        # Delete the user's account
        delete_user(user_id)
        return HttpResponse("User account deleted successfully.")
    else:
        return HttpResponseForbidden("You are not authorized to perform this action.")

				
			


У цьому коді delete_user_account функція перевіряє, чи є користувач, що робить запит, адміністратором, перш ніж видаляти зазначену обліковий запис користувача. Однак перевірка правильності user_id параметр, який гарантує, що запитувач користувач має право видалити обліковий запис цього конкретного користувача. Зловмисник може скористатися цією уразливістю, змінивши user_id параметр у запиті на видалення облікового запису користувача.

• В PHP:

				
					function delete_user_account($user_id) {
    // Check if the user making the request is authorized
    if ($_SESSION['is_admin']) {
        // Delete the user's account
        delete_user($user_id);
        return "User account deleted successfully.";
    } else {
        header('HTTP/1.0 403 Forbidden');
        return "You are not authorized to perform this action.";
    }
}

				
			


У цьому PHP-коді delete_user_account функція перевіряє, чи є користувач, що робить запит, адміністратором, перш ніж видаляти зазначену обліковий запис користувача. Однак це не підтверджує правильність $user_id параметр, який гарантує, що запитувач користувач має право видалити обліковий запис цього конкретного користувача. Зловмисник може скористатися цією уразливістю, змінивши $user_id параметр у запиті на видалення облікового запису користувача.

• В Java:

				
					public void delete_user_account(int user_id) {
    // Check if the user making the request is authorized
    if (currentUser.getRole() == Role.ADMIN) {
        // Delete the user's account
        deleteUser(user_id);
        System.out.println("User account deleted successfully.");
    } else {
        throw new ForbiddenException("You are not authorized to perform this action.");
    }
}

				
			


У цій Java-коді delete_user_account метод перевіряє, чи є користувач, що робить запит, адміністратором, перш ніж видаляти зазначену обліковий запис користувача. Однак це не підтверджує правильність user_id параметр, який гарантує, що запитувач користувач має право видалити обліковий запис цього конкретного користувача. Зловмисник може скористатися цією уразливістю, змінивши user_id параметр у запиті на видалення облікового запису користувача.

Приклади використання Порушеною авторизації на рівні функцій

Несанкціоноване видалення облікових записів користувачів:

Припустимо, зловмисник знає ідентифікатор облікового запису користувача, яку він хоче видалити, і відправляє додатком запит на видалення облікового запису. Якщо програма не перевіряє, що користувач надсилає запит, має право на видалення цієї конкретної облікового запису, зловмисник може успішно видалити обліковий запис, навіть якщо в нього немає на це повноважень.

Доступ до неавторизованим ресурсів:

Припустимо, зловмисник хоче отримати доступ до ресурсів, доступному тільки адміністраторам, наприклад до списку всіх облікових записів користувачів. Якщо програма не забезпечує належного контролю доступу до цього ресурсу, зловмисник може відправити запит на доступ до ресурсу та перегляд інформації, навіть якщо в нього немає на це повноважень.

Зміна даних неавторизованих:

Припустимо, зловмисник хоче змінити деякі дані в додатку, які він не має права змінювати, наприклад, інформацію про обліковий запис користувача. Якщо додаток належним чином не перевіряє, що користувач надсилає запит, має право змінювати ці конкретні дані, зловмисник може змінити ці дані, навіть якщо в нього немає на це повноважень.

Методи підвищення привілеїв для авторизації на рівні порушених функцій

Маніпулювання вхідними параметрами:

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

Перехоплення сеансу:

Зловмисник може перехопити дійсний сеанс користувача, щоб отримати доступ до додатка в якості користувача. Отримавши доступ, вони можуть виконувати дії або отримувати доступ до ресурсів, для яких вони авторизовані, потенційно включаючи права адміністратора.

Використання прихованих функцій:

Деякі додатки можуть мати приховані функції або функції налагодження, доступні тільки розробникам або адміністраторам. Зловмисник може спробувати отримати доступ до прихованих функцій, маніпулюючи параметрами або вхідними значеннями, потенційно отримуючи доступ до привілейованих функцій, які зазвичай недоступні.

Атаки грубої силою:

Зловмисник може спробувати зламати облікові дані, такі як імена користувачів і паролі, або токени аутентифікації, щоб отримати доступ до додатка. У разі успіху вони можуть виконувати дії або отримувати доступ до ресурсів, для яких вони авторизовані, потенційно включаючи права адміністратора.

Загальна методологія та контрольний список для авторизації на рівні порушених функцій

Методологія:

  1. Визначте функції і ресурси, які вимагають авторизації: Перегляньте додаток, щоб визначити функції і ресурси, що вимагають авторизації, такі як адміністративні функції, конфіденційні дані або дані, що відносяться до конкретного користувача.

  2. Розуміння механізму авторизації: Розуміння того, як додаток забезпечує примусову авторизацію, наприклад, шляхом перевірки ролей або дозволів користувачів, керування сеансами або інших механізмів аутентифікації.

  3. Перевірка авторизації для кожної функції і ресурсу: Протестуйте кожну функцію і ресурс, щоб переконатися, що вони належним чином авторизовані. Спробуйте отримати доступ до кожної функції і ресурсу від імені різних користувачів з різними ролями або дозволами або з невірними обліковими даними.

  4. Спроба обійти авторизацію: Спробуйте обійти механізм авторизації, змінивши параметри або вхідні значення, використовуючи несподівані методи HTTP або інші методи.

  5. Тест на горизонтальне підвищення привілеїв: Перевірте можливість доступу до даних або функцій інших користувачів шляхом маніпулювання параметрами або вхідними значеннями.

  6. Тест на вертикальне підвищення привілеїв: Перевірте можливість доступу до адміністративних або привілейованими функцій або шляхом маніпулювання даними параметрами або вхідними значеннями, а також шляхом використання прихованих функцій або інших вразливостей.

  7. Управління сеансом тестування: Перевірка на перехоплення сеансу шляхом спроби крадіжки сеансів інших користувачів чи використання недійсних або минулих токенів сеансу.

  8. Документуйте висновки і повідомляйте про уразливості: Документуйте будь-які висновки, включаючи кроки по відтворенню уразливості, вплив уразливості і рекомендації з усунення. Повідомляйте про будь-уразливість власнику програми або команди розробників для усунення.

Контрольний список:

  1. Визначте функції і ресурси, що вимагають авторизації, такі як адміністративні функції, конфіденційні дані або дані, що відносяться до конкретного користувача.

  2. Розуміння механізму авторизації, такого як ролі користувачів або дозволу, управління сеансами або інші механізми аутентифікації.

  3. Перевірте авторизацію для кожної функції і ресурсу, спробувавши отримати доступ до кожної функції і ресурсу від імені різних користувачів з різними ролями або дозволами або з невірними обліковими даними.

  4. Спробуйте обійти авторизацію, змінивши параметри або вхідні значення, використовуючи несподівані методи HTTP або інші методи.

  5. Перевірте горизонтальне підвищення привілеїв, спробувавши отримати доступ до даних або функцій інших користувачів, маніпулюючи параметрами або вхідними значеннями.

  6. Перевірте вертикальне підвищення привілеїв, намагаючись отримати доступ до адміністративних або привілейованими функцій або даними, маніпулюючи параметрами або вхідними значеннями, або використовуючи приховані функції або інші уразливості.

  7. Протестуйте управління сеансами, намагаючись вкрасти сеанси інших користувачів чи використовуючи недійсні або минулі токени сеансу.

  8. Перевірте наявність повідомлень про помилки або кодів стану, які можуть містити інформацію про механізми авторизації або слабких сторонах програми.

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

  10. Переконайтеся, що засоби контролю доступу застосовуються на стороні сервера і не можуть бути обійдені з допомогою сценаріїв на стороні клієнта або інших засобів.

  11. Проведіть ручне і автоматичне тестування для перевірки контролю доступу додатки.

  12. Документуйте будь-які висновки, включаючи кроки по відтворенню уразливості, вплив уразливості і рекомендації з усунення.

Набір інструментів для експлуатації Порушена авторизація на рівні функцій

Ручні Інструменти:

  • Burp Suite: Платформа тестування безпеки веб-додатків, яка включає проксі, сканер і багато інші інструменти. Може використовуватися для ручного тестування та використання вразливостей авторизації на рівні непрацюючих функцій.

  • Postman: Інструмент для розробки і тестування API. Може використовуватися для ручного тестування та використання вразливостей авторизації на рівні непрацюючих функцій API.

  • Chrome Developer Tools: Набір інструментів налагодження, вбудованих в браузер Google Chrome. Може використовуватися для ручної перевірки та управління HTTP-запитами і відповідями, включаючи заголовки і параметри.

  • Firefox Developer Tools: Набір інструментів налагодження, вбудованих в браузер Mozilla Firefox. Подібно до інструментів розробника Chrome, їх можна використовувати для ручної перевірки HTTP-запитів і відповідей та управління ними.

  • OWASP ZAP: Сканер безпеки веб-додатків з відкритим вихідним кодом. Може використовуватися для ручного тестування та використання вразливостей авторизації на рівні непрацюючих функцій.

  • SQLMap: Інструмент тестування на проникнення з відкритим вихідним кодом, який автоматизує процес виявлення і використання вразливостей SQL-ін'єкцій. Може використовуватися для ручного тестування та використання вразливостей авторизації на рівні непрацюючих функцій, пов'язаних з впровадженням SQL.

  • Nmap: Інструмент для дослідження мережі та аудиту безпеки. Може використовуватися для ручного визначення потенційних цілей для атак з порушеною авторизацією на рівні функцій.

Автоматизовані інструменти:

  • Acunetix: Сканер безпеки веб-додатків, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • AppSpider: Сканер безпеки веб-додатків, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Nessus: Сканер мережевих вразливостей, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • OpenVAS: Сканер мережевих вразливостей з відкритим вихідним кодом, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Nikto: Сканер веб-сервера, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Wapiti: Сканер безпеки веб-додатків, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Arachni: Модульний сканер безпеки веб-додатків, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Skipfish: Автоматизований сканер безпеки веб-додатків, який включає в себе тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Netsparker: Сканер безпеки веб-додатків, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

  • Grendel-Scan: Сканер безпеки веб-додатків з відкритим вихідним кодом, який включає автоматичне тестування на наявність вразливостей авторизації на рівні порушених функцій.

Плагіни для браузера:

  • Tamper Data: Firefox плагін, який дозволяє користувачам переглядати та змінювати заголовки і параметри HTTP / HTTPS.

  • Web Developer: Розширення для браузера Google Chrome, Firefox і Opera, що надає різні інструменти веб-розробки, включаючи можливість перевірки HTTP-запитів і відповідей та управління ними.

  • HackBar: Плагін для Firefox, який додає панель інструментів з різними інструментами тестування веб-безпеки, включаючи можливість змінювати HTTP-запити і відповіді.

Середній бал CVSS Авторизація на рівні порушеної функції стека

Загальна система оцінки вразливостей (CVSS) використовується для оцінки і оцінки серйозності вразливостей в системі безпеки, в тому числі тих, які пов'язані з порушенням авторизації на рівні функцій. Оцінка CVSS варіюється від 0 до 10, причому більш високі оцінки вказують на більш серйозні уразливості.

Середній бал CVSS для вразливостей, пов'язаних з порушенням авторизації на рівні функцій, може сильно варіюватися в залежності від конкретної уразливості і її впливу на додаток. Загалом, проблеми, пов'язані зі збоєм авторизації на рівні функцій, можуть бути класифіковані як серйозні, оскільки вони потенційно можуть надати зловмисникам підвищений доступ і контроль над додатком.

Проте фактичний показник CVSS для конкретної проблеми, пов'язаної з порушенням авторизації на рівні функцій, буде залежати від безлічі факторів, таких як вплив на конфіденційність, цілісність і доступність програми і її даних, а також складність використання уразливості. Таким чином, неможливо надати середню оцінку CVSS для всіх вразливостей, пов'язаних зі збоєм авторизації на рівні функцій.

Загальна перерахування слабких місць (CWE)

CWE-285: Неправильна авторизація: ця категорія відноситься до ситуацій, коли додаток не виконує належну аутентифікацію і авторизацію користувачів або процесів, що призводить до потенційного несанкціонованого доступу.

CWE-269: Неправильне управління привілеями: ця категорія відноситься до ситуацій, коли додаток неправильно керує привілеями користувачів або процесів, що призводить до потенційного підвищення привілеїв.

CWE-276: Неправильні дозволу за замовчуванням: Ця категорія відноситься до ситуацій, коли додаток використовує небезпечні дозволу за замовчуванням, які можуть бути використані зловмисниками для отримання несанкціонованого доступу.

CWE-732: Неправильне призначення дозволів для критичних ресурсів: ця категорія відноситься до ситуацій, коли додаток призначає неправильні дозволу критичним ресурсів, що призводить до потенційного несанкціонованого доступу.

CWE-434: Необмежена завантаження файлів з небезпечним типом: ця категорія відноситься до ситуацій, коли додаток дозволяє користувачам завантажувати файли без належної перевірки, що призводить до потенційного виконання шкідливого коду.

CWE-862: відсутній авторизація: ця категорія відноситься до ситуацій, коли додаток не забезпечує належного дотримання вимог авторизації, що призводить до потенційного несанкціонованого доступу.

CWE-863: Неправильна авторизація: ця категорія відноситься до ситуацій, коли додаток неправильно застосовує вимоги авторизації, що призводить до потенційного несанкціонованого доступу.

CWE-287: Неправильна аутентифікація: ця категорія відноситься до ситуацій, коли додаток не виконує належну аутентифікацію користувачів або процесів, що призводить до потенційного несанкціонованого доступу.

CWE-697: Недостатнє порівняння: ця категорія відноситься до ситуацій, коли додаток порівнює значення неправильно, що призводить до потенційного обходу авторизації.

CWE-732: Неправильне призначення дозволів для критичних ресурсів: ця категорія відноситься до ситуацій, коли додаток призначає неправильні дозволу критичним ресурсів, що призводить до потенційного несанкціонованого доступу.

Топ-10 CVE, пов'язаних зі зламаною авторизацією на рівні функцій

CVE-2023-0720 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливості функції ajax_save_folder_order_order у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0719 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливості функції ajax_save_sort_order у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0718 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливості функції ajax_save_folder у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0717 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливостей функції ajax_delete_folder у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0716 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливостей функції ajax_edit_folder у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0715 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливостей функції ajax_clone_folder у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0713 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливості функції ajax_add_folder у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0712 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливостей функції ajax_move_object у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

CVE-2023-0711 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливості функції ajax_save_state у версіях 2.18.16 включно. Це дозволяє аутентифікованим зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна стану перегляду структури папок, підтримуваної плагіном.

CVE-2023-0684 – Плагін Wicked Folders для WordPress вразливий для обходу авторизації через відсутність перевірки можливості функції ajax_unassign_folders у версіях 2.18.16 включно. Це дозволяє пройшов перевірку автентичності зловмисникам з дозволом передплатника і вище викликати цю функцію і виконувати дії, призначені для адміністраторів, такі як зміна структури папок, підтримуваної плагіном.

Порушена авторизація на рівні функцій подвиги

  • Горизонтальне підвищення привілеїв: Зловмисник отримує доступ до облікового запису користувача і може виконувати дії від імені цього користувача.

  • Вертикальне підвищення привілеїв: Зловмисник отримує більш високі привілеї, що йому дозволено, що дозволяє йому отримувати доступ до конфіденційної інформації чи виконувати привілейовані дії.

  • Доступ до функцій адміністратора: Зловмисник отримує доступ до адміністративних функцій без отримання на це дозволу, що дозволяє йому виконувати привілейовані дії.

  • Пряме посилання на об'єкт: Зловмисник маніпулює параметрами HTTP-запити для доступу до ресурсів або даними, до яких у нього не повинно бути доступу.

  • Примусовий перегляд: Зловмисник використовує структуру каталогів веб-додатки для переходу до ресурсів або даними, до яких у нього не повинно бути доступу.

  • Зміна параметрів: Зловмисник маніпулює параметрами HTTP-запиту, щоб змінити свій рівень доступу або обійти автентифікації або авторизації.

  • Фіксація сеансу: Зловмисник надає ідентифікатор сеансу користувача відоме значення, що дозволяє йому перехопити сеанс користувача і отримати доступ до конфіденційної інформації.

  • Маніпулювання файлами cookie: Зловмисник маніпулює значеннями файлів cookie користувача, щоб отримати несанкціонований доступ до ресурсів або даними.

  • Недостатні перевірки авторизації: Додаток неправильно перевіряє рівень авторизації користувача, перш ніж дозволити йому виконати дію, дозволяючи зловмисникам виконувати привілейовані дії.

  • Неправильна обробка помилок: Додаток розкриває зловмисникам конфіденційну інформацію, таку як імена користувачів, паролі або повідомлення про помилки, з допомогою повідомлень про помилки або вихідних даних налагодження.

Практикуючись в тестуванні на Порушена авторизація на рівні функцій

  1. Визначте механізми аутентифікації і авторизації, використовувані веб-додатком. Це може включати облікові записи користувачів, керування сеансами, списки контролю доступу і інші механізми, які контролюють доступ користувачів до ресурсів програми.

  2. Визначте різні рівні доступу, доступні користувачам у додатку. Це може включати в себе різні ролі або дозволу, які визначають, які саме дії користувачеві дозволено виконувати в додатку.

  3. Використовуйте комбінацію ручних і автоматичних засобів тестування, щоб перевірити програму на наявність вразливостей, пов'язаних з порушенням авторизації на рівні функцій. Це може включати такі інструменти, як Burp Suite, OWASP ZAP і Nikto, які можуть допомогти автоматизувати процес виявлення вразливостей в додатку.

  4. Виконайте ретельний аналіз вихідного коду програми на предмет виявлення будь-яких недоліків в механізми аутентифікації і авторизації, використовуваних додатком.

  5. Використовуйте різні методи атаки, щоб спробувати обійти автентифікації та авторизації додатки, такі як зміна параметрів, перехоплення сеансу і підвищення привілеїв.

  6. Ведіть детальний облік будь-яких недоліків або слабких місць, виявлених у процесі тестування, і надавайте докладні рекомендації про те, як розробники програми можуть вирішити ці проблеми.

  7. Нарешті, повторно протестуйте програму після внесення будь-яких змін, щоб переконатися, що уразливості були усунені належним чином і додаток тепер захищений від атак з порушенням авторизації на рівні функцій.

Для дослідження Порушена Авторизація на рівні функцій

OWASP Топ-10: Порушений контроль доступу: це всеосяжне керівництво по найбільш поширених типів вразливостей авторизації на рівні порушених функцій і способів їх запобігання. У ньому міститься докладний пояснення кожної уразливості, а також практичні приклади та методи усунення.

Керівництво хакера веб-додатків: Це високо оцінена книга з безпеки веб-додатків, яка охоплює всі аспекти тестування та експлуатації веб-додатків, включаючи авторизацію на рівні непрацюючих функцій.

Академія Пентестера: Це платформа онлайн-навчання, яка пропонує курси та лабораторні роботи з безпеки веб-додатків, включаючи такі теми, як авторизація на рівні непрацюючих функцій. Лабораторії надають практичний досвід тестування та використання уразливостей у веб-додатках.

Академія Burp Suite: Burp Suite - це популярний інструмент тестування веб-додатків, який включає в себе функції для тестування вразливостей авторизації на рівні порушених функцій. Академія Burp Suite пропонує безкоштовні онлайн-курси з використання інструменту для тестування веб-додатків на наявність вразливостей в системі безпеки.

Навчальні програми YouTube: На YouTube доступно безліч посібників, у яких міститься покрокове керівництво з тестування веб-додатків на наявність вразливостей авторизації на рівні непрацюючих функцій. Деякі популярні канали включають HackerSploit, STÖK і LiveOverflow.

Онлайн-спільноти: Приєднання до онлайн-спільнот, таким як спільнота OWASP або субредакторы, орієнтовані на безпеку, може стати відмінним способом встановити контакт з іншими фахівцями в галузі безпеки і перейняти їх досвід і знання.

Книги з оглядом Порушеною авторизації на рівні функцій

Керівництво хакера веб-додатків: пошук і використання недоліків безпеки, друге видання Дафида Штуттарда і Маркуса Пінто: Ця книга являє собою всеосяжне керівництво з безпеки веб-додатків, включаючи уразливості авторизації на рівні непрацюючих функцій. Він охоплює широке коло тем, від зіставлення архітектури додатки до виявлення і використання вразливостей.

Злом інформаційної безпеки: вивчення основ 101 Джош Мор і Ентоні Стибер: У цій книзі представлений огляд різних аспектів інформаційної безпеки, включаючи безпеку веб-додатків і авторизацію на рівні непрацюючих функцій. У ньому розглядаються основні концепції і методи виявлення і використання вразливостей.

Кулінарна книга з тестування веб-безпеки: виявляти уразливості і покращуйте свою систему безпеки з допомогою більш 140 рецептів Пако Хоупа і Бена Вальтера: Ця книга являє собою практичне керівництво з тестування веб-безпеки, включаючи тестування на порушення авторизації на рівні функцій. У ньому містяться рецепти тестування різних аспектів веб-додатків, а також покрокові інструкції та приклади коду.

Безпека веб-додатків: керівництво для початківців Брайана Саллівана, Вінсента Ллю і Майкла Коутса: Ця книга являє собою вступний керівництво з безпеки веб-додатків, включаючи поширені уразливості, такі як порушення авторизації на рівні функцій. У ньому розглядаються основні концепції і методи виявлення і усунення вразливостей веб-додатків.

Професійне тестування на проникнення: Створення і функціонування офіційної хакерської лабораторії Томаса Вільгельма: Ця книга являє собою керівництво по налаштуванню і запуску лабораторії тестування на проникнення, включаючи тестування на порушення авторизації на рівні функцій. У ньому розповідається про методи виявлення і використання вразливостей, а також про те, як документувати результати і повідомляти про них.

Злом веб-додатків: виявлення і запобігання проблем безпеки веб-додатків Майк Шема: У цій книзі представлений огляд безпеки веб-додатків, включаючи авторизацію на рівні непрацюючих функцій, і розглядаються методи виявлення та запобігання вразливостей. Вона також включає тематичні дослідження і практичні приклади.

Основи веб-злому: інструменти і методи для атаки в Інтернеті Джоша Паулі: У цій книзі розглядаються основи веб-злому, включаючи такі поширені проблеми, як порушення авторизації на рівні функцій. У ньому містяться покрокові інструкції і практичні приклади з виявлення і використання вразливостей.

Злом сірої капелюхи: керівництво етичного хакера Аллена Харпера, Даніеля Регаладо, Райана Лінна, Стівена Сімса, Бранко Спасоевича і Лінди Мартінес: У цій книзі розглядається широкий спектр методів злому, включаючи безпеку веб-додатків і авторизацію на рівні порушених функцій. У ньому містяться практичні рекомендації по виявленню і використанню вразливостей, а також про те, як повідомляти про результати з дотриманням етичних норм.

Розширене тестування на проникнення: злом найбільш захищених мереж в світі від Wil Allsopp: У цій книзі розглядаються передові методи тестування на проникнення, включаючи тестування на порушення авторизації на рівні функцій. Вона охоплює широкий спектр тем-від розвідки і картографування до методів експлуатації і послеэксплуатации.

Практичне тестування на проникнення в Мережу за допомогою Metasploit: створення динамічних автоматизованих наборів тестів веб-безпеки з допомогою платформи Metasploit від Майка Макфі: Ця книга присвячена використанню платформи Metasploit для тестування веб-додатків на проникнення, включаючи тестування на порушення авторизації на рівні функцій. У ньому розглядаються основи фреймворку, а також більш просунуті методи виявлення і використання вразливостей.

Список корисних навантажень Непрацююча авторизація на рівні функцій

  1. Зміна значення параметра в URL-адресі або тілі запиту для обходу перевірок авторизації

  2. Зміна методу HTTP GET на POST або навпаки для обходу перевірок авторизації

  3. Спроба доступу до ресурсів або кінцевим точкам з невірними або менш важливими параметрами

  4. Відправка запитів з навмисно великими значеннями для перевірки на переповнення цілих чисел або переповнення буфера, які можуть призвести до несанкціонованого доступу

  5. Перевірка на наявність небезпечних прямих посилань на об'єкти шляхом зміни ідентифікатора об'єкта в запиті

  6. Спроба отримати доступ до функцій, які повинні бути відключені або обмежені, наприклад, до функцій адміністрування або налагодження

  7. Впровадження коду запити для обходу перевірок авторизації або виконання несанкціонованих дій

  8. Спроба виконання довільного коду або сценаріїв шляхом завантаження файлів з шкідливим вмістом або доступу до неавторизованим системних файлів

  9. Використання атак методом перебору для підбору паролів або інших облікових даних для аутентифікації

  10. Тестування вразливостей для перехоплення сеансу шляхом спроби вкрасти дійсні токени сеансу або маніпулювати існуючими сеансами

Як бути захищеним від порушеною авторизації на рівні функцій

  1. Використовуйте надійні паролі і регулярно міняйте їх.

  2. Впроваджуйте багатофакторну аутентифікацію скрізь, де це можливо.

  3. Обмежте кількість користувачів, які володіють правами адміністратора.

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

  5. Вбудуйте належні засоби контролю доступу та дозволи для кожного користувача або групи користувачів.

  6. Використовуйте методи безпечного кодування і виконуйте регулярні перевірки коду для виявлення і усунення вразливостей.

  7. Вбудуйте системи виявлення та запобігання вторгнень для відстеження підозрілої активності.

  8. Навчіть користувачів навичкам безпечного перегляду і важливості рекомендацій щодо забезпечення безпеки.

  9. Використовуйте шифрування і захищені протоколи зв'язку для захисту конфіденційних даних при передачі і в стані спокою.

  10. Проводьте регулярні аудити безпеки і тестування на проникнення, щоб виявити і усунути уразливість, перш ніж їх можна буде використовувати.

Заходи по пом'якшенню наслідків збою авторизації на рівні функцій

  1. Вбудуйте належні засоби контролю доступу та дозволи для кожного користувача або групи користувачів, включаючи обмеження доступу до конфіденційної або привілейованими функцій.

  2. Впроваджуйте багатофакторну аутентифікацію скрізь, де це можливо, щоб знизити ризик несанкціонованого доступу до конфіденційної інформації або функцій.

  3. Використовуйте методи управління сеансом, такі як тайм-аути сеансу, безпечна обробка сеансу і скасування сеансу, щоб запобігти несанкціонований доступ до конфіденційних даних або функцій.

  4. Вбудуйте належні механізми обробки помилок і ведення журналу для виявлення спроб несанкціонованого доступу або інших інцидентів безпеки і реагування на них.

  5. Використовуйте методи безпечного кодування, включаючи перевірку вхідних даних і кодування вихідних даних, для запобігання атак з використанням ін'єкцій, які можуть призвести до несанкціонованого доступу або маніпулювання даними.

  6. Проводьте регулярні аудити безпеки і тестування на проникнення, щоб виявити і усунути уразливість, перш ніж їх можна буде використовувати.

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

  8. Використовуйте безпечні протоколи зв'язку, такі як SSL / TLS, для захисту конфіденційних даних при передачі.

  9. Вбудуйте брандмауери веб-додатків або інші системи запобігання / виявлення вторгнень для відстеження підозрілої активності і блокування потенційних атак.

  10. Регулярно переглядайте журнали доступу і журнали аудиту для виявлення і розслідування потенційних інцидентів безпеки.

Висновок

Уразливості авторизації на рівні порушених функцій можуть мати серйозні наслідки для організацій і окремих осіб, оскільки вони допускають несанкціонований доступ до конфіденційних даних або функцій, які можуть бути використані у зловмисних цілях. Ці уразливості можуть виникати з-за неправильного контролю доступу і дозволів, слабких механізмів автентифікації або інших помилок кодування або конфігурації.

Щоб запобігти або пом'якшити ці уразливості, важливо впровадити належні засоби контролю доступу та дозволу, використовувати надійні механізми ідентифікації, проводити регулярні аудити безпеки і тестування на проникнення, а також дотримуватися методам безпечного кодування. Крім того, організації повинні навчати своїх розробників і системних адміністраторів передовим методам забезпечення безпеки і проявляти пильність щодо потенційних інцидентів безпеки або спроб несанкціонованого доступу.

Роблячи ці кроки і залишаючись в курсі останніх загроз безпеці та вразливостей, організації можуть краще захистити себе від порушення авторизації на рівні функцій і інших ризиків безпеки.

Інші Послуги

Готові до безпеки?

зв'язатися з нами