Gentle killer - Cross Site Script Attack



Telkens wanneer we denken aan een tijd toen hackers, hackers hebben de neiging om dit portret, zoals: een eenling, rustig ingevuld andermans servers, te vernietigen of andermans geheimen te stelen. Misschien zal hij onze home page te veranderen, zullen frauduleuze claims klanten te stelen credit card nummers en wachtwoorden. Daarnaast zal de hacker aanval op onze website klanten te bezoeken. Tegelijkertijd, onze server werd zijn medeplichtige. Microsoft noemt deze aanval als een "cross-site script" aanvallen. De meerderheid van deze aanslagen vonden plaats in dynamisch gegenereerde webpagina op het juiste moment, maar de hacker doel is niet om uw site, maar bezoek de website van de klant.

Beschrijving van cross-site script aanval

In een boek getiteld ADVISORY CA--2000-02 van het tijdschrift, CERT ons gewaarschuwd: als de server over de inbreng van de klant is niet een doeltreffende controle, zal kwaadwillende hackers treedt sommige HTML-code, wanneer deze HTML script programma invoer van een code wordt gebruikt, ze kunnen het gebruiken om uit te voeren sabotage, zoals de opneming van een aantal aanstootgevende beelden of geluiden, enz., maar ook kunnen interfereren met de klant juiste website.

We weten dat sommige vrienden had aangezet om een aantal verdachte locaties vrij, krijgen ze slechts 10 tot 20 kleine venster, zijn deze ramen vaak gepaard met de vorming van de mislukking van Java of avascript security-knop, dit is bekend als de muis val. Sluit het venster is te vergeefs, wanneer we een venster sluiten, zal een ander venster pop-up een paar 10. Dit gebeurt vaak wanneer de beheerder niet in de Hou Fasheng. Hackers gebruiken de muis evenement is cross-site aanval methoden script voorbeeld van de klant.

SCRIPT tags en kwaadaardige activiteiten zijn niet eenvoudig, ze kan zelfs informatie te stelen en vernietigen van het systeem. Niet een slimme of zelfs slimme hackers in staat zijn om in te grijpen of de server met behulp van de scripttaal gegevensinvoer te wijzigen. Script code kan ook aanval met client systemen, daar schade aan uw harde schijf. En weet je, wanneer je de server kant heeft, hackers SCRIPT is ook een veilige plek waar uw server wordt uitgevoerd op! Indien de klant een brief op uw server wordt aangeduid, hetzelfde vertrouwen dat ze kwaadaardige code script. Zelfs deze code is in de vorm van SCRIPT of OBJECT server van hackers.

Zelfs met een firewall (SSL) kan niet voorkomen dat aanvallen met cross-site script. Dat komt omdat als de apparatuur genereert schadelijke scriptcode maakt ook gebruik van SSL, het SSL-server die we kunnen de code niet te identificeren voor de. We hebben te maken met de klant vertrouwde sites dan hand over hackers het? En het bestaan van dergelijke schade, mogelijk maken het verlies van de reputatie van uw site.

Ten eerste, cross-site aanslagen script voorbeeld:

Volgens de informatie CERT's, dynamische input heeft over het algemeen van deze vormen: URL-parameters, vormelementen, COOKISE en gegevens verzoeken. Laten we eens analyseren, de enige twee pagina's van de website, is de website met de naam: MYNICESITE.COM. Eerste gebruik van een formulier of een cookie om de gebruikersnaam te krijgen:

% @ Language = VBScript%

% If Request.Cookies ("gebruikersnaam") "" Then

Dim strRedirectUrl

strRedirectUrl = "page2.asp? username ="

strRedirectUrl = strRedirectUrl & Response.Cookies ("gebruikersnaam")

Response.Redirect (strRedirectUrl)

Else%

HTML

HEAD

TITLE MyNiceSite.com Home Page / TITLE

/ HEAD

BODY

H2 MyNiceSite.com / H2

FORM Method="POST" action="page2.asp"

Vul uw gebruikersnaam MyNiceSite.com:

INPUT Type="text" name="userName"

INPUT Type="submit" name="submit" value="submit"

/ FORM

/ BODY

/ HTML

% End If%

De tweede pagina geeft de gebruiker de naam te mogen verwelkomen:

% @ Language = VBScript%

% Dim strUserName

Als Request.QueryString ("gebruikersnaam") "" Then

strUserName = Request.QueryString ("gebruikersnaam")

Anders

Response.Cookies ("gebruikersnaam") = Request.Form ("gebruikersnaam")

strUserName = Request.Form ("gebruikersnaam")

End If%

HTML

HEAD / HEAD

BODY

h3 Align="center" Hello: % = strUserName% / H3

/ BODY

/ HTML

Wanneer u tekst normale treedt vaak, is alles normaal. Als u de Script-code: SCRIPT alert (''Welkom .''; / script , zal avascript waarschuwing pop-up:

De volgende keer dat u bezoekt, deze waarschuwing label zal er hetzelfde uitzien, dit is omdat het script code in uw tijd na het eerste bezoek was om te verblijven in een cookie. Dit is een eenvoudig voorbeeld van cross-site-aanvallen.

Als u denkt dat dit een speciaal geval, wilt u wellicht ook elders te kijken online, in persoon te proberen. Ik heb een aantal grote sites van de overheid, educatieve websites en commerciële sites getest, sommige van hen meer doen dan wat de situatie daar, ik vond zelfs een site die ik vaak gebruik van creditcards zijn eigenlijk over de inbreng zonder filtering, Denk echt verschrikkelijk.

In de tweede plaats, met behulp van E-Mail naar Cross Site Script Attack

Cross-site script aanval in de lijst-server, usenet servers en mail servers zijn bijzonder kwetsbaar te komen. Het volgende is een voorbeeld voor MyNiceSite.com site uit te leggen. Aangezien u vaak een kijkje op deze site, kan de inhoud ervan zette hem neer hou van je, zodat je je onbewust zet de browser in een dynamische Web content is altijd het vertrouwen van deze instelling.

MyNiceSite.com site is altijd via de verkoop van inschrijvingsrechten e-mail adres E-mailadres van hun brieven aan inkomen, dat is inderdaad een heel goed idee te verkrijgen. Dus ik kocht hem in een e-mailadres. En maakte veel van de post naar jou. In de brief, ik vertel u zo spoedig mogelijk om deze site te bezoeken en uw account checken met de laatste stand van zaken. Om u een handige, heb ik ook een link naar deze brief. Ik zou link van de URL, de gebruikersnaam parameter in het script code te likken toegevoegd. Sommige klanten onbewust op deze link klikt, dat is toen op mijn (foto), en ik heb ook geprofiteerd van:

Het is dit werk, zoals wanneer je klikt op deze link na link in het script code wordt gebruikt om uw browser te begeleiden naar mijn avascript programma te downloaden en uit te voeren. Mijn Script controleert u met behulp van IE browser, over te gaan tot controle ActiceX particularlyNasty.dll downloaden. Want voordat u de inhoud van deze website die altijd veilig is, dus mijn scriptcode en actieve controle op uw machine vrij kunnen draaien.

3, Activex aanval beschrijving

Bij de bespreking van het ActiveX-, CERT en Microsoft geen enkele verwijzing naar cross-site script methode van de risico's van. W3C In "De Veiligheidsraad Frequently Asked Questions van ActiveX veiligheidskwesties werden gemaakt op een meer gedetailleerde beschrijving. Java-applet op de controle van het systeem is strikt beperkt. Sun Development wanneer zij bepaalt dat alleen degenen die vormen geen bedreiging voor de veiligheid van het systeem is toegestaan om de operatie uit te voeren.

Aan de andere kant, ActiveX over de werking van het systeem is niet strikt beperkt. Echter, als men is gedownload, kunt u de executable als doen wat ze wilden hetzelfde te doen. IE browser voor deze functie is ook gemaakt om bepaalde beperkingen, zoals die onveilige site, zijn standaardinstellingen zal niet toestaan dat u kunt downloaden of geeft u een waarschuwing prompt. Is gebaseerd op de ontwikkeling van ActiveX voor bedrijven zoals VeriSign Inc, hebben zij genummerde ActiveX-besturingselementen. Wanneer u downloaden na de tijdcontrole, IE-browser krijgt u een waarschuwing en geeft de mate van haar geloofwaardigheid schurk. Door de gebruiker zelf beslissen of zij deze controle geloven. Als beveiliging van het systeem vergroot.

Echter, voor die gebruikers die hebben niet veel ervaring, werden ze vaak onbewust, naar de oorspronkelijke instellingen aangepast om deze controles mogelijk te maken zonder enige waarschuwing op het gedownloade. Bovendien, een nieuweling, zelfs in het geval van een prompt te downloaden zonder na te denken zal niet elk merk waarin de controles. In onze voorbeelden, omdat u de website vertrouwt, veranderde instellingen van de browser, dus, ActiveX-besturingselementen zonder aanmaning om te downloaden, en in uw machines onbewust begonnen Yunxing .

4, 16 hex gecodeerd Script ActiveX-aanval

Slechte bedoelingen onderscheid moet worden gemaakt tussen het label en het script is erg moeilijk. Script kan ook in de vorm van 16 hex verstoppen ze zich. Laten we eens kijken naar het volgende E-mail dit voorbeeld kunt? Het is in de vorm van 16 hex is verzonden:

Het is bijna een complete boodschap, die een 16 hex vervalste URL-parameters: de afzender = mynicesite.com bevat. Wanneer de gebruiker klikt op de link, browser van de gebruiker start de eerste zaak die rechtstreeks aan de verwerking van de pop-up waarschuwing venster.

Deel II: Attack Cross Site Script criminaliteitspreventie

Ten eerste, hoe om te voorkomen dat cross-site-server aanvallen Script

Gelukkig is het voorkomen van cross-site aanval Script technologie perfectioneren. Er zijn verschillende manieren dit kan worden genomen om cross-site aanslagen te voorkomen Script:

1. Op dynamisch gegenereerde pagina's zijn gecodeerd karakters

2. Te filteren en beperking van de inbreng

3. Gebruik van HTML en URL-codering

1. Op dynamisch gegenereerde pagina's zijn gecodeerd karakters

U moet het eerste gebruik is dynamisch gegenereerde pagina's op de tekencodering, je moet het doen, of hacker is waarschijnlijk uw tekenset te veranderen en gemakkelijk via uw lijn van verdediging. Als onze site is in het Engels website, dus als we de tekencodering in Latijnse tekens ISO-8859-1 op de lijn, als volgt:

meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

2. Filtering en het beperken van alle input data

Dit is voor cross-site te voorkomen Script De tweede methode van de aanval, tijdens het loggen Laat die speciale tekens worden ingevoerd. Daarom kunnen we toevoegen avascript procedures onsubmit manier om deze functie te vervullen. In dit geval beperken we ons kunnen slechts 15 tekens invoeren. Hiermee wordt voorkomen dat die lange script input.

In Knowledge Base-artikel QA252985 Dit boek biedt een beknopte avascript Microsoft-programma de voltooiing van de input data filteren. We hebben ook ingevoerd in het kader van de specifieke omstandigheden van deze code voor ons voorbeeld, zoals:

checkForm functie () (

document.forms [0]. userName.value = _

RemoveBad (document.forms [0]. UserName.value);

return true;

)

/ / MICROSOFT''s Code

functie RemoveBad (strTemp) (

strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g ,"");

terug strTemp;

)

Met deze methode kunt u een filter die in de input karakter:

% [] (); & + - "''()

3. Gebruik van HTML en URL-codering

Hoewel het gebruik van filters en beperkingen hierboven vermeld, is de input-methode is het gebruik van een zeer belangrijk middel van de verdediging, maar het was mijn manier om dergelijke aanvallen per post of machteloos. Ik zette URL-parameters direct op het bericht. Met het oog hierop hebben wij tot een meer robuuste veiligheidsmaatregelen te treffen. Als we gebruik van ASP, relatief gezien, een stuk makkelijker op te lossen. Zolang de totale voor dynamisch gegenereerde HTML-pagina's en URL-codering op de lijn. De zaak voor ons voorbeeld, voer de eerste pagina van de redirect URL hebben we de volgende wijzigingen:

strRedirectUrl = strRedirectUrl & _

server.URLEncode (Response.Cookies ("gebruikersnaam"))

We zijn toegetreden bij de uitvoering van de pagina:

strUserName = Server.HTMLEncode (Request.QueryString ("gebruikersnaam"))

En

strUserName = Server.HTMLEncode (Request.Form ("gebruikersnaam"))

Microsoft raadt voor alle input en output van dynamische pagina's moeten worden gecodeerd. Zelfs de gegevens in de database en verwijder de Hetzelfde moet waar zijn. Zodat u kan grotendeels cross-site script aanval te voorkomen.

Om dit te bereiken moeten deze worden toegevoegd Page1.asp:

% @ Language = VBScript%

% If Request.Cookies ("gebruikersnaam") "" Then

''Redirect detecteren als de cookie

Dim strRedirectUrl

strRedirectUrl = "page2.asp? username ="

strRedirectUrl = strRedirectUrl & _

server.URLEncode (Request.Cookies ("gebruikersnaam"))

Response.Redirect (strRedirectUrl)

Else%

HTML

HEAD

META Http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"

TITLE MyNiceSite.com Home Page / TITLE

/ HEAD

SCRIPT LANGUAGE="avascript"

! -

checkForm functie () (

document.forms [0]. userName.value =

RemoveBad (document.forms [0]. UserName.value);

return true;

)

bestand //*********************************************** *******

bestand / / Programmeur: niet origineel CODE - afkomstig is van MICROSOFT

bestand / / Code Bron: Microsoft Knowledge Base-artikel Q25z985

bestand / / Beschrijving: Verwijdert slechte karakters.

bestand //*********************************************** *******

functie RemoveBad (strTemp) (

strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g, "");

terug strTemp;

)

//-- bestand

/ SCRIPT

BODY

BR

H2 MyNiceSite.com / H2

BR

FORM Method="post"action="page2.asp" onsubmit="return checkForm();"

Vul uw gebruikersnaam MyNiceSite.com:

INPUT Type="text"name="userName" width="10" maxwidth="10"

INPUT Type="submit"name="submit" value="submit"

/ FORM

/ BODY

/ HTML

% End If%

Page2.asp Canada zoals:

% @ Language = VBScript%

% Dim strUserName

Als Request.QueryString ("gebruikersnaam ") "" Dan

strUserName = Server.HTMLEncode (Request.QueryString ("gebruikersnaam"))

Anders

Response.Cookies ("gebruikersnaam") = Request.Form ("gebruikersnaam")

strUserName = Server.HTMLEncode (Request.Form ("gebruikersnaam"))

End If%

HTML

HEAD

meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

/ HEAD

BODY

h3 Align="center" Hello: % = strUserName% / H3

/ BODY

/ HTML

Nu als gevolg van deze aanval was een effectieve controle. Dat die etiketten en Script door kwaadaardige code, zijn ze in geschreven vorm naar voren zijn gekomen, zoals hieronder afgebeeld:

We hebben ook verhoging van de IIS-onderdeel dat wordt gebruikt om alle van een dynamisch input van de speciale tekens filter. Voor degenen die goede websites, maar deze aanpak cross-site script aanvallen te voorkomen even gemakkelijk. We kunnen dit blokkeren stuuropdracht doelpunten van ASP-pagina's kunnen vormen, koekje, om de inhoud van het verzoek string en procedures op te sporen:

We kunnen ook schrijven logbestand via de methode van de statistische gegevens aan de componenten toe te treden. Wanneer een klant binnen een illegale karakter, zal deze component neemt nota van het IP-adres en tijd. Details zijn Doug decaan van Roll uw eigen IIS Applicatie op ASPToday artikel.

We moeten alleen een aantal eenvoudige Buju nemen effectief kan voorkomen dat cross-site script aanval. Afgezien van de hierboven genoemde drie methoden, Microsoft en CERT ook sterk aanbevolen om een proces dat noemen ze "sanity check"-benadering gebruiken. Bijvoorbeeld, stel er is alleen toegestaan om de digitale ingang "-venster, en we geven dat het een beperkte, die slechts 0-9 digitale ingang. Microsoft en CERT gebruikt om het invoeren van tekens van deze beperkte benadering dan het afzonderlijke gebruik van speciale tekens filtering zijn veel beter. Goedkeuring van deze maatregelen, kunt u laat degenen die uw site bezoeken wanneer klanten uw site bezoeken worden beschermd.

In de tweede plaats, voor een aanval van hackers onze browser-methode:

Wanneer u surfen op het net op het juiste moment hoe zijn aanval te voorkomen? Microsoft en CERT adviseert om geen wilde gissingen touch in de online Hu. Met het oog hierop, PC Magazine genaamd John Dvorack een kolom gemaakt van een interessant antwoord. Hij gelooft dat dit met voorbedachten rade handelingen Microsoft's: dat is te intimideren mensen die surfen naar deze sites veilig om te bezoeken, zoals AOL en MSN.com website.

In onze voorbeelden, zelfs als je niet online bent willekeurig zwerven, kunnen we niet voorkomen dat men in het internet aanvallen van hackers. Ironisch genoeg, het grootste deel van het risico komt van onze meest vertrouwde sites. Als u wilt dat de site moet niet de vraag wat je moet doen geen dynamische inhoud of een cookie te downloaden. Voorspel de details verwijzen wij u om uw browser informatie.

Microsoft waarschuwde ook dat de browser moet u de Active Script te stellen en strikt beperken van de stand van E-mail is ook ingesteld op strikt beperken van de ontvangst modus. Klik op de link in het bericht, moet u voorzichtig zijn. Voor verdere informatie verwijzen wij u naar een naam Microsoft''s Knowledge Base-artikel Q253117 boek. Uit voorzorg, zou je beter een beetje meer ervaring en tijd online om voorzichtig te zijn.

Conclusie

Als u een UNIX-programma vorige ontwikkelaar, mag u niet weten wat betekent dat cross-site script. Je weet dat veel managers site aangemeld gebruikersnaam en wachtwoord zijn root, root. Hetzelfde aantal database administrator naam en wachtwoord zijn sa, wachtwoord. Je weet Webzine (zoals Phrack en Alt2600), volgens de methoden die zij bieden u een stap voor stap kan een server om de zwakke punten kennen. In deze hardware, u weet ook dat veel van de site database server en web server niet zelfbescherming. Maar de ervaring van een hacker, moet de machine verlamming.

Hoewel het gemakkelijk is te nemen om het systeem van hackers maatregelen te voorkomen, maar ons systeem is blootgesteld aan de hacker is geweest. We hebben alle reden om te geloven dat er volgend jaar zullen een aantal nieuwe beveiligingslekken. De heer John Howard in de CERT van het bedrijf onder de leiding is genoemd in een artikel: "Volgens de huidige studie, met iedere domeinnaam op de internetsite van de gemiddelde jaar, aanvallen door hackers ten minste eenmaal. "

Op de servers, zelfs wanneer slechts een dergelijke aanval is ondraaglijk. Cross Site Script aanvallen zijn een andere manier om hackers te kunnen gebruiken. We moeten echter uitsluitend het bovengenoemde eenvoudige behandeling kan het optreden van deze vorm van aanval te voorkomen.
Telkens wanneer we denken aan een tijd toen hackers, hackers hebben de neiging om dit portret, zoals: een eenling, rustig ingevuld andermans servers, te vernietigen of andermans geheimen te stelen. Misschien zal hij onze home page te veranderen, zullen frauduleuze claims klanten te stelen credit card nummers en wachtwoorden. Daarnaast zal de hacker aanval op onze website klanten te bezoeken. Tegelijkertijd, onze server werd zijn medeplichtige. Microsoft noemt deze aanval als een "cross-site script" aanvallen. De meerderheid van deze aanslagen vonden plaats in dynamisch gegenereerde webpagina op het juiste moment, maar de hacker doel is niet om uw site, maar bezoek de website van de klant.

Beschrijving van cross-site script aanval

In een boek getiteld ADVISORY CA--2000-02 van het tijdschrift, CERT ons gewaarschuwd: als de server over de inbreng van de klant is niet een doeltreffende controle, zal kwaadwillende hackers treedt sommige HTML-code, wanneer deze HTML script programma invoer van een code wordt gebruikt, ze kunnen het gebruiken om uit te voeren sabotage, zoals de opneming van een aantal aanstootgevende beelden of geluiden, enz., maar ook kunnen interfereren met de klant juiste website.

We weten dat sommige vrienden had aangezet tot een aantal van verdachte sites gratis, zij krijgen slechts 10 tot 20 kleine venster, zijn deze ramen vaak gepaard met de vorming van het falen van JAVA of avascript beveiliging-knop, dit is bekend als de muis val. Sluit het venster is te vergeefs, wanneer we een venster sluiten, zal een ander venster pop-up een paar 10. Dit gebeurt vaak wanneer de beheerder niet in de Hou Fasheng. Hackers gebruiken de muis evenement is cross-site aanval methoden script voorbeeld van de klant.

SCRIPT tags en kwaadaardige activiteiten zijn niet eenvoudig, ze kan zelfs informatie te stelen en vernietigen van het systeem. Niet een slimme of zelfs slimme hackers in staat zijn om in te grijpen of de server met behulp van de scripttaal gegevensinvoer te wijzigen. Script code kan ook aanval met client systemen, daar schade aan uw harde schijf. En weet je, wanneer je de server kant heeft, hackers SCRIPT is ook een veilige plek waar uw server wordt uitgevoerd op! Indien de klant een brief op uw server wordt aangeduid, hetzelfde vertrouwen dat ze kwaadaardige code script. Zelfs deze code is in de vorm van SCRIPT of OBJECT server van hackers.

Zelfs met een firewall (SSL) kan niet voorkomen dat aanvallen met cross-site script. Dat komt omdat als de apparatuur genereert schadelijke scriptcode maakt ook gebruik van SSL, het SSL-server die we kunnen de code niet te identificeren voor de. We hebben te maken met de klant vertrouwde sites dan hand over hackers het? En het bestaan van dergelijke schade, mogelijk maken het verlies van de reputatie van uw site.

Ten eerste, cross-site aanslagen script voorbeeld:

Volgens de informatie CERT's, dynamische input heeft over het algemeen van deze vormen: URL-parameters, vormelementen, COOKISE en gegevens verzoeken. Laten we eens analyseren, de enige twee pagina's van de website, is de website met de naam: MYNICESITE.COM. Eerste gebruik van een formulier of een cookie om de gebruikersnaam te krijgen:

% @ Language = VBScript%

% If Request.Cookies ("gebruikersnaam") "" Then

Dim strRedirectUrl

strRedirectUrl = "page2.asp? username ="

strRedirectUrl = strRedirectUrl & Response.Cookies ("gebruikersnaam")

Response.Redirect (strRedirectUrl)

Else%

HTML

HEAD

TITLE MyNiceSite.com Home Page / TITLE

/ HEAD

BODY

H2 MyNiceSite.com / H2

FORM Method="POST" action="page2.asp"

Vul uw gebruikersnaam MyNiceSite.com:

INPUT Type="text" name="userName"

INPUT Type="submit" name="submit" value="submit"

/ FORM

/ BODY

/ HTML

% End If%

De tweede pagina geeft de gebruiker de naam te mogen verwelkomen:

% @ Language = VBScript%

% Dim strUserName

Als Request.QueryString ("gebruikersnaam") "" Then

strUserName = Request.QueryString ("gebruikersnaam")

Anders

Response.Cookies ("gebruikersnaam") = Request.Form ("gebruikersnaam")

strUserName = Request.Form ("gebruikersnaam")

End If%

HTML

HEAD / HEAD

BODY

h3 Align="center" Hello: % = strUserName% / H3

/ BODY

/ HTML

Wanneer u tekst normale treedt vaak, is alles normaal. Als u de Script-code: SCRIPT alert (''Welkom .''; / script , zal avascript waarschuwing pop-up:

De volgende keer dat u bezoekt, deze waarschuwing label zal er hetzelfde uitzien, dit is omdat het script code in uw tijd na het eerste bezoek was om te verblijven in een cookie. Dit is een eenvoudig voorbeeld van cross-site-aanvallen.

Als u denkt dat dit een speciaal geval, wilt u wellicht ook elders te kijken online, in persoon te proberen. Ik heb op een aantal grote websites van de overheid, educatieve websites en commerciële websites getest, sommige van hen hebben boven-situatie is er gezegd, ik vond zelfs een site die ik vaak gebruik van credit cards worden niet daadwerkelijk een van de input filter, Denk echt verschrikkelijk.

In de tweede plaats, met behulp van E-Mail naar Cross Site Script Attack

Cross-site script aanval in de lijst-server, usenet servers en mail servers zijn bijzonder kwetsbaar te komen. Het volgende is een voorbeeld voor MyNiceSite.com site uit te leggen. Aangezien u vaak een kijkje op deze site, kan de inhoud ervan zette hem neer hou van je, zodat je je onbewust zet de browser in een dynamische Web content is altijd het vertrouwen van deze instelling.

MyNiceSite.com site is altijd via de verkoop van inschrijvingsrechten e-mail adres E-mailadres van hun brieven aan inkomen, dat is inderdaad een heel goed idee te verkrijgen. Dus ik kocht hem in een e-mailadres. En maakte veel van de post naar jou. In de brief, ik vertel u zo spoedig mogelijk op deze site te bezoeken en uw account te controleren met behulp van de laatste stand van zaken. Om u een handige, heb ik ook een link naar deze brief. Ik zou link van de URL, de gebruikersnaam parameter in het script code te likken toegevoegd. Sommige klanten onbewust op deze link klikt, dat is toen op mijn (foto), en ik heb ook geprofiteerd van:

Het is dit werk, als wanneer u klikt op deze link na link in het script code wordt used to uw browser gids om mijn programma te downloaden en avascript het uit te voeren. Mijn Script controleert u met behulp van IE browser, over te gaan tot controle ActiceX particularlyNasty.dll downloaden. Want voordat u de inhoud van deze website die altijd veilig is, dus mijn scriptcode en actieve controle op uw machine vrij kunnen draaien.

3, Activex aanval beschrijving

Bij de bespreking van het ActiveX-, CERT en Microsoft geen enkele verwijzing naar cross-site script methode van de risico's van. W3C In "De Veiligheidsraad Frequently Asked Questions de beveiliging van ActiveX, gaf een meer gedetailleerde beschrijving. Java-applet op de controle van het systeem is strikt beperkt. Sun Development wanneer zij bepaalt dat alleen degenen die vormen geen bedreiging voor de veiligheid van het systeem is toegestaan om de operatie uit te voeren.

Aan de andere kant, ActiveX over de werking van het systeem is niet strikt beperkt. Echter, als men is gedownload, kunt u de executable als doen wat ze wilden hetzelfde te doen. IE browser voor deze functie wordt ook verwezen naar bepaalde beperkingen, zoals deze site onveilig, in zijn standaardinstellingen zal niet toestaan dat u kunt downloaden of geeft u een waarschuwing prompt. Is gebaseerd op de ontwikkeling van ActiveX voor bedrijven zoals VeriSign Inc, hebben zij genummerde ActiveX-besturingselementen. Wanneer u downloaden na de tijdcontrole, IE-browser krijgt u een waarschuwing en geeft de mate van haar geloofwaardigheid schurk. Door de gebruiker zelf beslissen of zij deze controle geloven. Als beveiliging van het systeem vergroot.

Echter, voor die gebruikers die hebben niet veel ervaring, werden ze vaak onbewust, naar de oorspronkelijke instellingen aangepast om deze controles mogelijk te maken zonder enige waarschuwing op het gedownloade. Bovendien, een nieuweling, zelfs in het geval van een prompt te downloaden zonder na te denken zal niet elk merk waarin de controles. In onze voorbeelden, omdat u de website vertrouwt, het veranderen van de instellingen van de browser, dus, ActiveX-besturingselementen zonder aanmaning om te downloaden, en onwetend op uw machine begint te lopen .

4, 16 hex gecodeerd Script ActiveX-aanval

Slechte bedoelingen onderscheid moet worden gemaakt tussen het label en het script is erg moeilijk. Script kan ook in de vorm van 16 hex verstoppen ze zich. Laten we eens kijken naar het volgende E-mail dit voorbeeld kunt? Het is in de vorm van 16 hex is verzonden:

Het is bijna een complete boodschap, die een 16 hex vervalste URL-parameters: de afzender = mynicesite.com bevat. Wanneer de gebruiker klikt op de link, browser van de gebruiker start de eerste zaak die rechtstreeks aan de verwerking van de pop-up waarschuwing venster.

Deel II: Attack Cross Site Script criminaliteitspreventie

Ten eerste, hoe om te voorkomen dat cross-site-server aanvallen Script

Gelukkig is het voorkomen van cross-site aanval Script technologie perfectioneren. Er zijn verschillende manieren dit kan worden genomen om cross-site aanslagen te voorkomen Script:

1. Op dynamisch gegenereerde pagina's zijn gecodeerd karakters

2. Te filteren en beperking van de inbreng

3. Gebruik van HTML en URL-codering

1. Op dynamisch gegenereerde pagina's zijn gecodeerd karakters

U moet het eerste gebruik is dynamisch gegenereerde pagina's op de tekencodering, je moet het doen, of hacker is waarschijnlijk uw tekenset te veranderen en gemakkelijk via uw lijn van verdediging. Als onze site is in het Engels website, dus als we de tekencodering in Latijnse tekens ISO-8859-1 op de lijn, als volgt:

meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

2. Filtering en het beperken van alle input data

Dit is voor cross-site te voorkomen Script De tweede methode van de aanval, tijdens het loggen Laat die speciale tekens worden ingevoerd. Daarom kunnen we toevoegen avascript procedures onsubmit manier om deze functie te vervullen. In dit geval beperken we ons kunnen slechts 15 tekens invoeren. Hiermee wordt voorkomen dat die lange script input.

In Knowledge Base-artikel QA252985 Dit boek biedt een beknopte avascript Microsoft-programma de voltooiing van de input data filteren. We hebben ook ingevoerd in het kader van de specifieke omstandigheden van deze code voor ons voorbeeld, zoals:

checkForm functie () (

document.forms [0]. userName.value = _

RemoveBad (document.forms [0]. UserName.value);

return true;

)

/ / MICROSOFT''s Code

functie RemoveBad (strTemp) (

strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g ,"");

terug strTemp;

)

Met deze methode kunt u een filter die in de input karakter:

% [] (); & + - "''()

3. Gebruik van HTML en URL-codering

Hoewel het gebruik van filters en beperkingen hierboven vermeld, is de input-methode is het gebruik van een zeer belangrijk middel van de verdediging, maar het was mijn manier om dergelijke aanvallen per post of machteloos. Ik zette URL-parameters direct op het bericht. Met het oog hierop hebben wij tot een meer robuuste veiligheidsmaatregelen te treffen. Als we gebruik van ASP, relatief gezien, een stuk makkelijker op te lossen. Zolang de totale voor dynamisch gegenereerde HTML-pagina's en URL-codering op de lijn. De zaak voor ons voorbeeld, voer de eerste pagina van de redirect URL hebben we de volgende wijzigingen:

strRedirectUrl = strRedirectUrl & _

server.URLEncode (Response.Cookies ("gebruikersnaam"))

We zijn toegetreden bij de uitvoering van de pagina:

strUserName = Server.HTMLEncode (Request.QueryString ("gebruikersnaam"))

En

strUserName = Server.HTMLEncode (Request.Form ("gebruikersnaam"))

Microsoft raadt voor alle input en output van dynamische pagina's moeten worden gecodeerd. Zelfs de gegevens die zijn opgeslagen in de database en verwijder de Hetzelfde moet waar zijn. Zodat u kan grotendeels cross-site script aanval te voorkomen.

Om dit te bereiken moeten deze worden toegevoegd Page1.asp:

% @ Language = VBScript%

% If Request.Cookies ("gebruikersnaam") "" Then

''Redirect detecteren als de cookie

Dim strRedirectUrl

strRedirectUrl = "page2.asp? username ="

strRedirectUrl = strRedirectUrl & _

server.URLEncode (Request.Cookies ("gebruikersnaam"))

Response.Redirect (strRedirectUrl)

Else%

HTML

HEAD

META Http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"

TITLE MyNiceSite.com Home Page / TITLE

/ HEAD

SCRIPT LANGUAGE="avascript"

! -

checkForm functie () (

document.forms [0]. userName.value =

RemoveBad (document.forms [0]. UserName.value);

return true;

)

bestand //*********************************************** *******

bestand / / Programmeur: niet origineel CODE - afkomstig is van MICROSOFT

bestand / / Code Bron: Microsoft Knowledge Base-artikel Q25z985

bestand / / Beschrijving: Verwijdert slechte karakters.

bestand //*********************************************** *******

functie RemoveBad (strTemp) (

strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g, "");

terug strTemp;

)

//-- bestand

/ SCRIPT

BODY

BR

H2 MyNiceSite.com / H2

BR

FORM Method="post"action="page2.asp" onsubmit="return checkForm();"

Vul uw gebruikersnaam MyNiceSite.com:

INPUT Type="text"name="userName" width="10" maxwidth="10"

INPUT Type="submit"name="submit" value="submit"

/ FORM

/ BODY

/ HTML

% End If%

Page2.asp Canada zoals:

% @ Language = VBScript%

% Dim strUserName

Als Request.QueryString ("gebruikersnaam ") "" Dan

strUserName = Server.HTMLEncode (Request.QueryString ("gebruikersnaam"))

Anders

Response.Cookies ("gebruikersnaam") = Request.Form ("gebruikersnaam")

strUserName = Server.HTMLEncode (Request.Form ("gebruikersnaam"))

End If%

HTML

HEAD

meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

/ HEAD

BODY

h3 Align="center" Hello: % = strUserName% / H3

/ BODY

/ HTML

Nu als gevolg van deze aanval was een effectieve controle. Dat die etiketten en Script door kwaadaardige code, zijn ze in geschreven vorm naar voren zijn gekomen, zoals hieronder afgebeeld:

We hebben ook verhoging van de IIS-onderdeel dat wordt gebruikt om alle van een dynamisch input van de speciale tekens filter. Voor degenen die goede websites, maar deze aanpak cross-site script aanvallen te voorkomen even gemakkelijk. Deze controle niet kunnen onderscheppen onze ASP-pagina's het verzoek van doelen, kunnen vormen, koekje, om de inhoud van het verzoek string en procedures op te sporen:

We kunnen ook schrijven logbestand via de methode van de statistische gegevens aan de componenten toe te treden. Wanneer een klant binnen een illegale karakter, zal deze component neemt nota van het IP-adres en tijd. Details zijn Doug decaan van Roll uw eigen IIS Applicatie op ASPToday artikel.

We moeten alleen een aantal eenvoudige Buju nemen effectief kan voorkomen dat cross-site script aanval. Afgezien van de hierboven genoemde drie methoden, Microsoft en CERT ook sterk aanbevolen om een proces dat noemen ze "sanity check"-benadering gebruiken.例如,假设有个输入窗口只允许输入数字,我们就给它做个限定,只允许0-9数字的输入。微软和CERT所采用的这种对输入的字符进行限定的办法要比单独的采用过滤特殊字符要好得多。采用了这些措施后你就能让那些参观你网站的客户在访问你网站时受到保护。

二、免受黑客攻击我们浏览器方法:

当你在网上漫游的时侯,怎样来避免受到攻击呢?微软和CERT建议不要在网上胡碰乱撞。针对这种情况,PC杂志一个栏目的名叫John Dvorack作者作了一个饶有兴趣的回答。他认为这是微软公司一起有预谋的行为:就是用来恐吓网上冲浪的人到那些安全的站点去浏览,如美国在线和MSN.com网站。

在我们所举的例子中,即使你不在网上胡乱游荡,也不能避免在网上遭到黑客的袭击。具有讽刺意义的是,大多数的危险都来自于我们最信任的网站。如果要让网站一定不出问题,你只好不下载任何动态内容或者任何cookie。预知详情请参阅浏览器的相关资料。

微软也警告你们应把浏览器的Active Script设置成严格限制的状态并把Email也设成严格限制的接收模式。在点击邮件中的链接时,一定要小心。如需进一步了解情况请参阅一本名叫<<Microsoft''s Knowledge Base Article Q253117>>的书。为了以防万一,你最好是多一点上网经验,并且时刻要小心谨慎。

结论

如果你是以前的UNIX程序开发人员,你也许不会知道跨站script意谓着什么。你知道许多站点的管理人员登录的用户名和密码分别为root,root.同样许多数据库管理员的名称和密码分别为sa,password。你也知道Webzine(如Phrack 和 Alt2600),依据他们所提供的方法能让你一步步地知道某台服务器的弱点。在这种硬件上,你也知道许多网站的数据库服务器和web服务器都没有进行自我保护。一但遭遇黑客,机器就得瘫痪。

尽管我们很容易采取防止系统受到黑客的攻击的措施,但我们的系统是一直暴露在黑客面前的。我们完全有理由相信下一年还会出现一些新的安全漏洞。在CERT公司John Howard先生指导下完成的一篇论文中曾提到:"跟据目前的研究显示,每个在英特网上具有域名的网站平均一年被黑客至少攻击一次。"

对服务器来说那怕只是一次这种攻击也是不能承受的。跨站Script攻击是黑客可采用的另一种方法。但我们只要进行以上所说的一些简单的处理就能防止这种形式攻击的发生。