Com trobar + parada per injecció de SQL atacs

Hi ha un munt de coses per aquí sobre atacs d'injecció SQL, però no hi ha molt que l'ajudaran a trobar la manera de posar fi a aquests atacs es produeixin.

En primer lloc, anem a parlar del que un atac d'injecció SQL en realitat. Algunes persones pensen que és un virus de tipus, és a dir "dins del seu lloc." No és el cas. Aquests són els atacs bot pel virus d'altres equips infectats. Simplement utilitzi un mètode de força bruta de escanejar URL que tinguin POST / GET insums i tractar d'enviar a les seves pròpies dades per a ells.

Així que, com un seguiment d'aquests i aturar elles? Per als llocs web funciona amb IIS de Microsoft, aquí estan les nostres suggeriments:

  1. Miri seus registres de IIS
    Intenta cercar la paraula "declarar" o "EXECUTAR". Si vostè ha estat colpejat per un atac, aquestes més que probable que apareguin en els seus registres de IIS - almenys per a qualsevol atac que es va intentar amb "GET" llocs. Si trobeu qualsevol instància de "declarar" o "EXECUTAR" aquestes són les pàgines per començar.
  2. Utilitza connexió maneig de base de dades centralitzada
    Simple, fer un arxiu centralitzat (per exemple, connection.asp si vostè està utilitzant ASP ) Que maneja tot l'accés DB. D'aquesta manera, és més fàcil per assegurar-se que vostè és la codificació SQL seves pàgines. Vostè pot fàcilment les consultes de cerca per "declarar" i "Executar" i aturar els atacs morts en les seves pistes.
  3. Implementar una solució en tot el lloc
    Si utilitzeu el seu propi servidor, és molt recomanable ISAPI_Rewrite de HeliconTech ( http://www.helicontech.com/isapi_rewrite ). Aquest és un filtre ISAPI que li permet fer una varietat de coses, incloent dades d'escaneig URL. Això evitarà que 99% dels atacs sense canviar el codi QUALSEVOL al seu lloc! \
  4. Mai utilitzeu "sa" com a usuari de la base, crear un usuari per a la base de dades que està treballant i després de treure els privilegis de llegir el DBO mestre. Això evita que l'atacant de "ensumar" l'estructura de la base de dades, però, aquests atacs han evolucionat de manera que desinfectar emmagatzemats atacs procediment basat ocórrer fins i tot amb aquests tipus de seguretat al seu lloc. Veure http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf per a més informació sobre aquesta i altres idees en la prevenció d'atacs d'injecció SQL.

Si alguna vegada has estat rascant el cap pensant en la fuga en la seva programació és (o ha pres més d'un projecte d'una altra persona), llavors la millor manera de determinar a través de la pàgina que va passar l'atac és a través dels registres de IIS.

Hi ha molts scripts disponibles per netejar, però el millor consell és fer còpies de seguretat cada hora, i per seguir les millors pràctiques (alguns dels quals he assenyalat aquí). Bona sort

Utilitzar OPENROWSET per connectar directament a una altra base de dades sense un servidor vinculat i executar un procediment emmagatzemat

  1
 2
  SELECT *
 'SQLOLEDB' , database_location;username;password , 'set fmtonly off exec database.dbo.stored_Procedure' ) AS Whatever DES OPENROWSET ('SQLOLEDB', database_location; nom d'usuari, contrasenya, "SET FMTONLY off executiu database.dbo.stored_Procedure ') com el que 

La peça de codi anterior s'explica per si mateix. Només he utilitzat això en SQL Server 2005, però, pel que si no funciona en SQL 2000 no vénen a mi plorant.

Torneu a posar database_location amb la IP / destinació del servidor al que voleu connectar-se a
Torneu a posar nom d'usuari / contrasenya amb ... bé ... és el que realment ha d'explicar això?
Torneu a posar la base de dades amb el catàleg / base de dades que voleu consultar
stored_Procedure Substitueix amb el procediment emmagatzemat que voleu executar
El "Sigui quin sigui el que" és necessària. Vostè podria anomenar aquesta tot el que vulguis.

He fet servir el de dalt per consultar una base de dades directament de l'extracció de dades o la manipulació. Vostè podria anar tan lluny com per formar part d'aquest intern en les consultes normals si no estàs fent una actualització / afegir bucle cursor sobre aquest.

Gaudi. Em va prendre un temps per a resoldre'l :)

Powered by SEO SEO platí de Techblissonline