Сегодня 31 декабря, вторник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Блог Мэтра
Блог Мэтра
Голосов: 1
Адрес блога: http://myasp.ru/
Добавлен: 2010-09-14 11:39:16
 

SQL-иньекции

1970-01-01 03:00:00 (читать в оригинале)

SQL-Injection

В последнее время меня стало напрягать увеличение количества SQL-иньекций в MS SQL базах моих сайтов, когда к многим текстовым полям добавляются скрытые спамерские ссылки. Ссылки заключаются в тэги <div style="display: none"></div>, что делает их невидимыми на страницах сайтов, но понижает рейтинг страниц в поисковых системах.

Чтобы посмотреть или выбрать зараженные записи в таблице. можно воспользоваться скриптом на T-SQL:

SELECT * FROM  table WHERE (pole LIKE '<div style="display: none">')

Когда количество таких записей в таблице достигает больших значений, то удаление зараженных строк становится проблематичным и в этом случае можно воспользоваться следующим скриптом:

update table set pole =SUBSTRING(pole,0,CharIndex('<div style="display: none">',pole)) where pole like '%<div style="display: none">%' 

Этот скрипт подчищает "концы" всех записей с содержимым <div style="display: none">, при этом не изменяет исходную информацию.

Ну и наконец после удаления ненужных текстов можно защитить конкретное поле таблицы от записи в них текстов с содержащих строку <div style="display: none">

Для этого необходимо на этой таблице сформировать триггер следующего содержания:

CREATE TRIGGER [dbo].[back]
   ON  [dbo].[table]
   AFTER UPDATE, INSERT
AS
BEGIN
    SET NOCOUNT ON;
IF EXISTS (SELECT * FROM table WHERE pole LIKE '%<div style="display: none">%')
 ROLLBACK;
END

Все это конечно временное решение и нужно искать истинную причину заражения.


Тэги: t-sql

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по сумме баллов (758) в категории «Истории»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.