Gå til innhold

Global search & replace i MS SQL Server?


Anbefalte innlegg

Jeg har blitt angrepet av en SQL-injection-robot, og har fått følgende tekst inserted i så å si alle tabellene: [script src=http://www.bigadnet.com/b.js][/script] (Jeg endret hakene til klammer nå i tilfelle de ikke filtreres ut i forumet her...).

 

Går det an å lage en query som går gjennom alle tabellene og fjerner den uønskede teksten? Eller må jeg gå gjennom tabell for tabell og lage kopier, slette dritten og inserte de orginale dataene i kopien? Jeg skal gjøre dette i fire eller fem databaser, så jeg hadde håpet at det gikk an å gjøre det litt enkelt...

 

 

-s

Lenke til kommentar
Videoannonse
Annonse

For det første; har du tettet igjen hullene som tillot dette?

 

Å rydde opp i dette kan du gjøre på to måter. Restore av backup eller ved å lage et script som genererer update statements for alle tabeller og text/varchar/char-kolonner for å rydde opp kaoset.

Lenke til kommentar
For det første; har du tettet igjen hullene som tillot dette?

 

Å rydde opp i dette kan du gjøre på to måter. Restore av backup eller ved å lage et script som genererer update statements for alle tabeller og text/varchar/char-kolonner for å rydde opp kaoset.

 

Jeg jobber med å tette hullet/hullene. Selve tettingen tror jeg er lett, men først må jeg finne det/dem. Det er et møysommelig arbeid, ettersom applikasjonen inneholder maaange forms i maaange script-filer som skriver til databasen.

 

Planen min er å la alle inputs til databasen filtreres gjennom en funksjon som replacer enkeltfnutt med to enkeltfnutter. Det skulle vel gjøre susen?

 

 

-s

Lenke til kommentar
Planen min er å la alle inputs til databasen filtreres gjennom en funksjon som replacer enkeltfnutt med to enkeltfnutter. Det skulle vel gjøre susen?

 

I de aller fleste tilfeller så vil det nok dessverre virke når det gjelder strenger. Men hva med numeriske verdier som f.eks. i http://myweb.com/articles.asp?category_id=15? Sjekker du at verdien faktisk er numerisk? ASP mangler jo typedeklarasjon av variabler. HVis du ikke gjør det så er det lite hjelp i å bytte ut en apostrof med to da jeg ikke trenger å lukke noen streng.

 

Tilbake til "dessverre" i avsnittet over. Grunnen til at jeg skriver det er at alt for mange lar seg friste til å ta denne snarveien (som vil beskytte greit i 99% av tilfellene). Helt til du glemmer å type-sjekke en antatt numerisk verdi.

 

Bruk derfor parameteriserte spørringer. Det er VELDIG enkelt. En tilfeldig artikkel som beskriver hvordan.

Lenke til kommentar

Fikk nettopp en email fra Microsoft. De er tydeligvis bekymret over all uvitenheten de også.

 

 

> Microsoft is aware of a recent escalation in a class of attacks 
> targeting Web sites that use Microsoft ASP and ASP.NET technologies 
> but do not follow best practices for secure Web application 
> development. These SQL injection attacks do not exploit a specific 
> software vulnerability, but instead target Web sites that do not 
> follow secure coding practices for accessing and manipulating data 
> stored in a relational database. When a SQL injection attack succeeds, 
> an attacker can compromise data stored in these databases and possibly 
> execute remote code. Clients browsing to a compromised server could be 
> forwarded unknowingly to malicious sites that may install malware on 
> the client machine.
> 
> The purpose of Security Advisory 954462 is to assist Web site 
> administrators in identifying possible issues with their Web 
> application code being susceptible to possible SQL injection attacks 
> and to provide a stopgap solution to mitigate SQL injection attacks 
> against the server while the applications are being fixed.
> 
> ==================================
> Recommendations
> ==================================
> 
> Review Microsoft Security Advisory 954462 for an overview of the 
> issue, details on affected components, mitigating factors, suggested 
> actions, frequently asked questions (FAQ) and links to additional 
> resources.
> 
> ==================================
> Additional Resources
> ==================================
> 
> • Microsoft Security Advisory 954462 – Rise in SQL Injection Attacks 
> Exploiting Unverified User Data Input - 
> http://www.microsoft.com/technet/security/advisory/954462.mspx
> 
> • MSRC Blog: http://blogs.technet.com/msrc
> 
> • Links to other documentation on SQL Injection and Coding Best 
> Practices
> 
>   - SQL Server Injection Protection: 
> http://msdn.microsoft.com/en-us/library/aa224806.aspx
> 
>   - Preventing SQL Injections in ASP: 
> http://msdn.microsoft.com/en-us/library/cc676512.aspx
> 
>   - Coding Techniques for protecting against SQL Injection:
>	 http://forums.asp.net/t/1254125.aspx
> 
>   - Filtering SQL Injection from Classic ASP:
>	 
> http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx
> 
>   - How To: Protect from SQL Injection in ASP.NET:
>	 http://msdn.microsoft.com/en-us/library/ms998271.aspx
> 
>   - Security Vulnerability Research & Defense Blog on SQL Injection 
> Attack:
>	 
> http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...