21. maj 2008 - 22:40Der 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.
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.
SELECT 'UPDATE '+TABLE_NAME+' SET '+COLUMN_NAME+' = REPLACE('+COLUMN_NAME+', ''bla bla'', '''')' FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE='varchar'
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.
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.
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å.
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.
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?
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 :-(
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.
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.
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.
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.
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å.
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.
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.
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.