Пример #4 Выполнение команд операционной системы на сервере (для базы MSSQL)

<?php

$query = "SELECT * FROM products WHERE id LIKE '%$prod%'";

$result = mssql_query($query);

?>

Если взломщик введет значение a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- для переменной $prod, тогда запрос $query будет выглядеть так:

<?php

$query = "SELECT * FROM products

WHERE id LIKE '%a%'

exec master..xp_cmdshell 'net user test testpass /ADD'--";

$result = mssql_query($query);

?>

MSSQL сервер выполняет SQL-команды в пакетном режиме, в том числе и операции по заведению локальных учетных записей базы данных. В случае, если приложение работает с привилегиями администратора sa и сервис MSSQL запущен с необходимыми привилегиями, то выполнив приведенные выше действия, взломщик получит аккаунт для доступа к серверу.

Замечание: Некоторые приведенные в этой главе примеры касаются конкретной базы данных. Это не означает, что аналогичные атаки на другие программные продукты невозможны. Работоспособность вашей базы данных может быть нарушена каким-либо другим способом.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: