¿Cómo encontrar + parada por inyección de SQL ataques

13 de noviembre 2009 por AcidRaZor · Deja tu comentario
Filed under: . NET , ASP clásico , Hosting , IIS 6.0 , programación 101 , SQL Server

Hay un montón de cosas por ahí acerca de ataques de inyección SQL, pero no hay mucho que le ayudarán a encontrar la manera de poner fin a estos ataques se produzcan.

En primer lugar, vamos a hablar de lo que un ataque de inyección SQL en realidad. Algunas personas piensan que es un virus del tipo, es decir "dentro de su sitio." No es el caso. Estos son los ataques bot por el virus de otros equipos infectados. Simplemente use un método de fuerza bruta de escanear direcciones URL que tengan POST / GET insumos y tratar de enviar a sus propios datos para ellos.

Así que, ¿cómo un seguimiento de estos y parar ellos? Para los sitios web funciona con IIS de Microsoft, estas son nuestras sugerencias:

  1. Mire sus registros de IIS
    Trate de buscar la palabra "declarar" o "EJECUTAR". Si usted ha sido golpeado por un ataque, estas más que probable que aparezcan en sus registros de IIS - al menos para cualquier ataque que se intentó con "GET" puestos. Si usted encuentra cualquier instancia de "declarar" o "EJECUTAR" estas son las páginas para empezar.
  2. Usar conexión manejo de base de datos centralizada
    Simple, hacer un archivo centralizado (por ejemplo, connection.asp si usted está usando ASP ) Que maneja todo el acceso DB. De esta manera, es más fácil para asegurarse de que usted es la codificación SQL sus páginas. Usted puede fácilmente las consultas de búsqueda para "declarar" y "Ejecutar" y detener los ataques muertos en sus pistas.
  3. Implementar una solución en todo el sitio
    Si está ejecutando su propio servidor, es muy recomendable ISAPI_Rewrite de HeliconTech ( http://www.helicontech.com/isapi_rewrite ). Este es un filtro ISAPI que le permite hacer una variedad de cosas, incluyendo datos de escaneo dirección. Esto evitará que 99% de los ataques sin cambiar el código CUALQUIER en su sitio! \
  4. Nunca use "sa" como usuario de la base, crear un usuario para la base de datos que está trabajando y después de quitar los privilegios de leer el dbo maestro. Esto evita que el atacante de "olfatear" la estructura de su base de datos, sin embargo, estos ataques han evolucionado de manera que desinfectarse almacenados ataques procedimiento basado ocurrir incluso con estos tipos de seguridad en su lugar. Ver http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf para obtener más información sobre ésta y otras ideas para prevenir ataques de inyección SQL.

Si alguna vez has estado rascando la cabeza pensando en la fuga en su programación es (o ha tomado más de un proyecto de otra persona), entonces la mejor manera de determinar a través de la página que ocurrió el ataque es a través de los registros de IIS.

Hay muchos scripts disponibles para limpiar, pero el mejor consejo es hacer copias de seguridad cada hora, y para seguir las mejores prácticas (algunos de los cuales he señalado aquí). ¡Buena suerte

El uso de un servidor vinculado en SQL Server 2005 Express para conectarse a Excel

05 de marzo 2009 por AcidRaZor · Deja tu comentario
Filed under: SQL Server

Estoy muy frustrado cuando se trata de las opciones de DTS carente de SQL Server 2005 Express, especialmente cuando se trata de la importación de hojas de cálculo en una tabla, así que puede hacer referencia a que sea fácil dentro de una instrucción T-SQL para importar datos en mi base de datos relacional ya existentes .

Finalmente encontré una pequeña joya que parecía funcionar:

  1
 2
 3
 4
 5
 6
 7
 8
 9
 'EXCEL2' , 'Excel' , 'Microsoft.Jet.OLEDB.4.0' , 'D: \d ata.xls' , NULL , 'Excel 8.0' , NULL SELECT * FROM excel2... a $ WHERE [ Whatever COLUMN ] IS null Sp_addlinkedserver 'EXCEL2 EXEC', 'Excel', 'Microsoft.Jet.OLEDB.4.0', 'D: \ d ata.xls', NULL, 'Excel 8.0', NULL SELECT * FROM $ excel2 ... un WHERE [Cualquiera que sea COLUMNA] es nulo 

Eficacia con la que el alias del documento de Excel como un servidor vinculado SQL (en este ejemplo, excel2). Sólo tienes que hacerlo una vez. Una vez que el programa de instalación que funciona hasta que desvincular el alias de servidor (o se mueve el origen de datos)

Esto me ayudó enormemente en la obtención de datos y consultar con T-SQL sin tener que importarlo como que estoy acostumbrado con DTS. Es posible que desee estar en el puesto de observación de las diferencias lingüísticas entre los dos, sino una simple base de datos predeterminada COLLATE debe hacer el truco en la mayoría de casos en los que join'ing interior o comparar dos datos de servidor diferente.

Powered by SEO SEO platino de Techblissonline