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. Регулярно просматривайте журналы доступа и журналы аудита для выявления и расследования потенциальных инцидентов безопасности.

Заключение

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

Чтобы предотвратить или смягчить эти уязвимости, важно внедрить надлежащие средства контроля доступа и разрешения, использовать надежные механизмы аутентификации, проводить регулярные аудиты безопасности и тестирование на проникновение, а также следовать методам безопасного кодирования. Кроме того, организации должны обучать своих разработчиков и системных администраторов передовым методам обеспечения безопасности и проявлять бдительность в отношении потенциальных инцидентов безопасности или попыток несанкционированного доступа.

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

Другие Услуги

Готовы к безопасности?

Связаться с нами