Учетные записи безопасности SharePoint - Несанкционированный доступ к базам данных и содержимого и конфигурации
ОГЛАВЛЕНИЕ
Несанкционированный доступ к базам данных и содержимого и конфигурации
Так как же злоумышленник получает доступ к базам данных и содержимого и конфигурации, не имея прямой информации об учетных данных записи безопасности? На самом деле, довольно прямолинейно. Рабочий процесс IIS, выполняющий веб-приложение SharePoint, олицетворяет пользователя SharePoint и использует получившийся маркер потока для проверок доступа. Например, доктор Джекилл может получить доступ ко всем ресурсам SharePoint, доступ к которым разрешен его маркеру безопасности. Но у веб-приложения SharePoint также есть маркер процесса рабочего процесса IIS, который является маркером безопасности учетной записи безопасности SharePoint.
При отмене олицетворения путем вызова статического метода WindowsIdentity.Impersonate и передачи ему нулевого указателя, как проиллюстрировано на рис. 4 и 4a, появляется мистер Хайд. У доктора Джекилла нет прямого доступа к базам данных, но у мистера Хайда есть. Путь открыт для подключений SQL Server и запросов T-SQL.
Рис. 4 У веб-приложений SharePoint существуют два контекста безопасности
Рис. 4a. Код для извлечения двух контекстов безопасности веб-приложения SharePoint
private string GetMrHyde()
{
string retVal = string.Empty;
retVal = "Dr Jekyll is: " + WindowsIdentity.GetCurrent().Name + "<br>";
WindowsImpersonationContext impCtx = WindowsIdentity.Impersonate(IntPtr.Zero);
retVal += "Mr Hyde is: " + WindowsIdentity.GetCurrent().Name + "<br>";
impCtx.Undo();
return retVal;
}