Можно ли использовать уязвимость SQL-инъекции с разрешением «только для избранных», если я знаю учетные данные администратора?

Можно ли использовать уязвимость SQL-инъекции с разрешением «только для избранных», если я знаю учетные данные администратора?

Мой друг указал на уязвимость SQL-инъекции в приложении, с которым я работаю.

Этот параметр поиска:

'; exec xp_cmdshell 'dir';  --

Вернул сообщение:

The EXECUTE permission was denied on the object 
   'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'. 

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

Мне интересно, если бы злоумышленник узнал данные для входа в учетную запись администратора сервера SQL, смог бы он использовать эти данные, чтобы получить доступ root к машине через оболочку cmd или совершить какую-нибудь другую грязную работу?

решение1

Возможно, SQL-инъекция может изменить пользователя с более высокими привилегиями на SQL-сервере с помощью exec as {credentials}. Однако исходный пользователь, выполняющий запрос, должен иметь IMPERSONATEразрешения для пользователя, на которого он пытается переключиться. Это не конфигурация по умолчанию, вам придется добавить ее (было бы довольно странно добавлять и это).

решение2

На самом деле неважно, возможно это или нет, у вас есть законная проблема, которую вы должны попытаться решить. Эта команда даже не должна была быть отправлена ​​обратно на сервер.

Связанный контент