Avatar billede hnteknik Novice
21. maj 2008 - 22:40 Der er 24 kommentarer og
1 løsning

HJÆLP til at fjerne spamscripts fra alle tables med text felter

Hjælp - I nat har man kompromitteret SQL serveren bag vores website. Så godt som alle tabeller med text felter har i teksten fået tilføjet en script text. Scriptet linker til et js script som afvikler etscr i en Iframe - puha. Jeg er ikke alene, for søger man i Google med ""banner82.com" (prøv selv) finder man at 20-30.000 andre asp og ASP.net sider herunder danske har samme problem.
Nogen er kommet ind via SQLserveren og afviklet et SQL script som har ædretr teksten. At Azero.dk hos hoster svarer ikke på mine henvendelser er en anden sag, men....

Mit spg er. Kan jeg lave et SQL script som traverserer alle tabeller, alle record og alle felter med text og fjerner en angivet text streng. Jeg orker ikke at rette +1000 records.
Avatar billede torotune Nybegynder
21. maj 2008 - 23:21 #1
Du kan bede Azero om at få lavet en restore af databasen fra lige før det skete. Herefter må du sørge for at sikre alle dine tekstbokse/inputfelter mod "muligvist farlige tegn" som ' og ; osv. der kan bruges til at lave sql-injection, så du ikke bliver hacket igen. Dette gør du ved (bedst) at anvende parameters på alt hvad du smider i databasen fra dine tekstbokse. Ellers kan du lave en replace på alt tekstboxindhold, som erstatter ' med ".

Sørg også for at få Azero til at slå muligheden for at køre multible sql-sætninger pr. kald fra. Det bruges ofte til at hacke sig ind på sider via querystrings/url'en.
Avatar billede arne_v Ekspert
22. maj 2008 - 04:44 #2
Prøv at udføre:

SELECT 'UPDATE '+TABLE_NAME+' SET '+COLUMN_NAME+' = REPLACE('+COLUMN_NAME+', ''bla bla'', '''')'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE='varchar'

og check output og hvis OK så udfør det.
Avatar billede arne_v Ekspert
22. maj 2008 - 04:44 #3
Jeg er iøvrigt helt enig i at det er ret omsonst at erstatte tilbage uden at lukke hullet.
Avatar billede hnteknik Novice
22. maj 2008 - 09:12 #4
Azero er stadig tavse. Jeg har tabeller som ikke har nogen kontakt til nettet. Disse er også systematisk inficeret. Jeg mener at være sikret mod SQL Injection, men jeg skal og må gå det hele igennem. Antallet på nettet af inficerede sites vokser, så det er tilsyneladende et omgoing problem.

Arne - tak for dit script - jeg prøver det, men rigtig - hullet skal lukket uanset hvor det er.
Avatar billede arne_v Ekspert
22. maj 2008 - 14:54 #5
SQL injection kan godt ramme en helt anden tabel end den som bruges i den
originale SQL saetning.
Avatar billede hnteknik Novice
22. maj 2008 - 16:17 #6
Det er jeg klar over. Azero er endelig vendt tilbage og påpeger, at det kunne af den gratis FCKEditor som mange af os bruger til at editere webteksten med online. Jeg har den inde bag ved et noget web administration, øhhh som vist har sin egen login - ikke lavet af mig - og godt kunne være åben for injection. Det ligner nemligt et robotangreb.

Arne - jeg prøver ikke dit script før jeg har patchet alle mulige huller. Azero har iøvrigt givet mig en backup fra den 15 maj. bedre end ingenting.
Avatar billede arne_v Ekspert
23. maj 2008 - 22:15 #7
Hvis du restorer en backup har du jo ikke brug for min SQL.
Avatar billede hnteknik Novice
23. maj 2008 - 22:42 #8
Hej Arne - dit script var en stor hjælp - skulle lige ændre til nvarchar.
Et stor problem er, at en del af især de lange tekster nvarchar(max) er blevet afkortet. Hvad årsagen er vides ikke, men backup af db er der brug for. Jeg har en backupfil fra den 16. men dben ude på nettet vil kun kigge sten åp seren ude på nettet hvilket er blokeret. Det skal jeg lige have styr på.

Arne - tak og smid gerne et svar.
Avatar billede arne_v Ekspert
24. maj 2008 - 05:31 #9
OK
Avatar billede hnteknik Novice
24. maj 2008 - 17:13 #10
For at slutte denne tråd og for dem, der senere skulle fange linket via nettet.
Robotten er sikkert kommet ind via et page link, som ikke har været sikret tilstrækkeligt. Det er vigtigt også at checke om PageID også er et tal.

Anatomien af et angreb, som ligner det og nu 38.000 andre websites har væet udsat for er læses her:
http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx
Avatar billede torotune Nybegynder
24. maj 2008 - 19:11 #11
Det script der bliver spammet med i din database, er det det som prøver at åbne en kinesisk side (kan ikke lige huske hvad den hedder men slutter på .cn) i en iFrame, som så prøver at køre noget activex, sikkert med noget virus i?
Avatar billede torotune Nybegynder
24. maj 2008 - 19:13 #12
Sorry, havde ikke set du skrev banner82.com - Men vi bøvler selv med ham kina-hackeren for tiden som smider scriptet ind i vores SqlServer.
Avatar billede hnteknik Novice
24. maj 2008 - 20:34 #13
Det er sikkert den samme eller 3. udgave på 2 måneder. js delen henter en iframe som afvikler en masse snask.
Avatar billede theh Nybegynder
26. maj 2008 - 09:50 #14
Jeg har også store problemer med samme script(s) i min SQL Server (som faktisk også ligger ved Azero). Det rammer primært tabeller med dbo-schema og jeg har simpelthen dæmmet op for angrebene ved at ændre schemaet for tabellerne. Dog er en enkelt af mine tabeller med et andet schema også ramt. Findes der ikke en freeware scanner der kan tjekke et website for SQL injection huller, for jeg kan simpelthen ikke hullet :-(
Avatar billede hnteknik Novice
26. maj 2008 - 10:27 #15
Du skal prøve at gennemgå alle dine sidehenvisninger. Hvis du ikke checker om f.eks. PageID er er et tal ved f.eks. isNumeric eller CLng er der en stor risiko, for at man kommer ind den vej. Javascript til FCKEditoren - hvis du bruger en sådan er udsat. Omdøb mapper.

Prøv at kigge på Nessus under nessus.org/nessus/  anvend en speciel plug in. Det er som regel dyrt at få foretaget et sådan scan.
Avatar billede hnteknik Novice
26. maj 2008 - 10:35 #16
Husk også at sikre dine Stored Procedures.
Avatar billede spile Nybegynder
28. maj 2008 - 12:20 #17
Hej har det samme problem på mine sider har lukket af for det meste af kina men nu kommer de også fra andre steder med sql injektion hvordan slår man muligheden for  multible sql-sætninger pr. kald fra ? det vil nok lukke de fleste huller.
Avatar billede theh Nybegynder
06. juni 2008 - 10:57 #18
Her er løsningen til at finde ud af hvor scriptet kommer ind i databasen:

Find logfilerne fra webserveren. De ligger højest sandsynligt i C:\WINDOWS\system32\LogFiles\W3SVC1

Led efter ordet ;DECLARE og kig på hvilket filnavn det skrives ud for. Herefter sikrer du dine variable i filen, så det kun er numerisk/A-Z der kan skrives her.

Herefter er filen sikret.
Avatar billede spile Nybegynder
06. juni 2008 - 11:05 #19
du kan exportere din tabel til en tekst fil her kan du så søg og erstatte herefter sletter du din tabel i databasen og importere den rettet tekst fil tag en backup først. har lige haft en ligende problem og fik det løst på denne måde.
Avatar billede spile Nybegynder
06. juni 2008 - 11:07 #20
Nå ja så ret dit script så alle post der indeholder varchar bliver smidt væk. så slipper du for at de kommer ind igen. afslut alle dine sql sætninger så de ender på " det hjælper også.
Avatar billede hnteknik Novice
06. juni 2008 - 14:29 #21
Vi er ikke alene
En søgning på Google efter ’b.js’ viser at
Pt er 23.000 danske og 580.000 globale sider ramt af dette angreb. Mange af dem er ramt mere end 4 – 6 gange, så noget tyder på at man ikke er klar over angrebet.
Avatar billede hnteknik Novice
06. juni 2008 - 14:32 #22
Husk at checke text, ntext, varchar og nvarchar for snavs.

Vi mangler en genrel sikring på SQL Niveau, så visse handlinger ikke kan udføres andet end fra et bestemt IP (udvikler)
Avatar billede spile Nybegynder
06. juni 2008 - 14:32 #23
så prøv denne på google. så kommer der lidt flere

.js cn script
Avatar billede spile Nybegynder
06. juni 2008 - 14:45 #24
hvis du bare tager varchar det er rigeligt. den skal de bruge for at lave strengen. eller declare en af disse og så lave en redirect når disse bliver postet. yderliger har jeg lavet en lille funktion der mailer alle sql fejl til mig prompte så jeg kan tage det i opløbet de er meget dytige men det er vigtigt for dem at de kan se den fejlmeddelse sql kommer med så de kan se småfejl i deres kommando..senest har jeg modtaget disse her ved jeg sku ikke havd de prøver på , men jeg tror at det er hvis man har joomla at de har fundet et hul.

/default.asp?Action=Details&Item=http%3A%2F%2Fhonamfishing.co.kr%2Fphpmysqladmin%2Flibraries%2Fnov%2Fuyowuwi%2F
Avatar billede hnteknik Novice
06. juni 2008 - 14:46 #25
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester