De kenmerken van de website zijn dat er geen verdachte bestanden meer in de websitebestanden staan, en de website is in feite een ASP+SQLSserver-architectuur. Open de database vanuit de enterprise manager, en je ziet dat het script Trojan is toegevoegd aan het script van de database en de veldtekens. Open het websitelogboek en je ziet dat de code via SQL-injectie is toegevoegd.
Geen sprake van, verwijder eerst het script via de query analyzer, gelukkig is de hacker nog steeds vrij regelmatig, je kunt het in één keer clearen, het clearing-script voor elke tabel in de database schrijven in de query analyzer, en het dan meteen uitvoeren, oké, open de website, de wereld is schoon. Het clearing-script wordt hieronder gegeven:
UPDATE tabelnaam set veldnaam = VERVANG(veldnaam, hacker URL ,)
Als het geïnfecteerde veld tekst is, is het lastiger en kan er tijdens het conversieproces wat data verloren gaan om het teksttype via de converteerfunctie naar varchar(8000) te converteren
Na het clearen wordt het clearing sql-script opgeslagen, is alles in orde, na twee uur hangt de website weer vast!
Ik moest de query analyzer opnieuw uitvoeren, het script uitvoeren en het clearen. Het is heel duidelijk, maar mensen moeten altijd slapen, dus je kunt daar geen geheimen vangen met hackers.
Plotseling denken we dat dit de sqlserver-bibliotheek is, Microsoft moet een oplossing hebben, we kunnen het niet tegenhouden om naar de database te kijken om een Trojaans paard op te hangen, maar we kunnen het onsuccesvol maken. Dat is met triggers!
Iedereen die bekend is met triggers weet dat sql2000 eerst data invoegt en wijzigt in de ingevoegde tijdelijke tabel, en deze vervolgens daadwerkelijk in de bijbehorende tabel plaatst. Het blokkeren van de voetstappen van hackers staat in deze tijdelijke tabel!
De code van het hacker hangend paard bevat dit woord, want alleen op deze manier kan de client de website tegelijkertijd openen om de grote hackerwebsite te raken, dus laten we hier beginnen.
De triggercode wordt hieronder gegeven:
CREATE triggernaam
Op tafel naam voor update, invoegen als Verklaar @a varchar(100) - Veld 1 opslaan
Verklaar @b varchar(100) - Veld 2 opslaan
Verklaar @c varchar(100) -- Veld 3 opslaan
selecteer @a=Veld 1, @b=Veld 2, @c=Veld3 uit ingevoegd als(@a zoals %script% of @b zoals %script% of @c zoals %script%) begin ROLLBACK-transactie einde
De betekenis van deze trigger is om eerst drie variabelen te definiëren en de drie gemakkelijk op te slaan in de ingevoegde tabel
Het string-type veld dat de hacker is gestart, en gebruikt dan om vaag te beoordelen of de waarde het woordscript bevat, en als dat zo is, de transactie terugdraaien zonder een fout te melden, zodat de hacker verlamd raakt en hij ten onrechte denkt dat hij is opgegeven.
Vrienden die vastzitten kunnen dit script nemen en het daarop aanpassen, wat ervoor moet zorgen dat de website niet vastloopt. Daarnaast is er ook een teksttype voor velden die gemakkelijk op te hangen zijn, maar dit type is lastiger om mee om te gaan, en het is waargenomen dat hackers vaak meerdere velden tegelijk ophangen om een tabel te hangen, dus zolang één veld niet succesvol is, is de hele tabel niet succesvol |