Det finns många olika datorattacker som vi utsätts för, i den här självstudien ska vi prata om Cross-Site Scripting (XSS) cyberattack. Denna attack består av att injicera oönskad kod i webbapplikationer. Med detta kan en angripare ändra programmets beteende, vilket kan skada data, tappa information, neka service (DoS), etc.
Till exempel kan en angripare göra en sårbar webbsida omdirigera trafik till sin egen, med dåliga konsekvenser för både ägaren av sidan och användare.
Vilka konsekvenser kan detta få?
Varierat och allvarligt, men tänk dig att Facebook har en sårbarhet av denna typ, angriparen utnyttjar den och förfalskning av den ursprungliga sidan skapar en klon av den här sidan, vilket efterliknar Facebook. Användare loggar in och angriparen behåller sina referenser och omdirigerar dem helt enkelt till den officiella sidan, så att användaren sällan får reda på det.
Var kan vi kontrollera om en webbplats är sårbar?
Du kan göra det på många sätt, men det vanligaste är i forum eller platser där de tillåter kommentarer i händelse av en ihållande attack, eller i URL: erna för en icke-ihållande.
Vad är orsaken till denna sårbarhet?
Eftersom sidorna inte korrekt verifierar datainmatningarna från användarna, och utmatningen inte är kodad. Så om du har en webbsida misstro alltid användare som validerar sina data, programmeringsspråk har redan funktioner som tillåter till exempel funktionen strip_tag PHP tar bort HTML -taggarna (men titta på de varningar det har).
XSS -attacktyperIcke-beständig eller speglad typI denna attack får offret en manipulerad URL, som innehåller koden som ska injiceras som en parameter.
Ihållande eller direkt typDe data som användaren infogar kommer att lagras på servern, vilket påverkar alla användare som ansluter till webben.
Vi kommer att se exempel på hur attacken skulle utföras från och med nu.
NoteraSyftet med självstudien är att du kan testa de webbapplikationer som du skapar eller de som ger dig tillåtelse, inte så att du utför "skadliga" handlingar.
1. Icke-beständigt XSS-exempel
Vi vill omdirigera en person till en sida som vi kontrollerar, men får dem att tro att de besöker den ursprungliga sidan kan vi skicka ett e -postmeddelande med den förkortade länken (eller inte), som har följande innehåll:
http://www.paginadeseada.com/?search=Med detta exempel är det tydligt hur lätt det är att utnyttja en sårbarhet av denna typ.
2. Ihållande XSS -exempel
I en kommentar kan vi lägga in en HTML- eller JavaScript -kod, som sparas på servern, och att varje gång sidan som innehåller kommentaren laddas omdirigeras den till vår webbsida, för detta exempel kan följande HTML -kod infogas:
Vi vänder oss till ett annat exempel än de vi har sett nu. Nu ska vi se exempel med DVWA, en webbapplikation utvecklad med PHP och MySQL. Denna applikation finns redan i Metasploitable 2, som du kan montera den i en virtuell maskin.
Det gör att vi kan testa olika webbattacker, och vi kan ändra graden av säkerhet (för exemplen använder vi den låga), vi kommer också att kunna se PHP -koder som attackeras, så att du kan se vad som inte att använda i dina koder.
3. Exempel XSS reflekterade DVWA
I det här avsnittet kommer vi att se flera exempel, låt oss börja. Om vi sätter ett normalt namn, samma Testa, programmet fungerar bra, låt oss se bilden:
FÖRSTORA
Om vi anger följande kod som ett namn:
TestaVi ser att namnet blir fet (kanske på bilden uppskattas det inte särskilt bra):
FÖRSTORA
Och om vi lägger in en ingång, kommer det att fungera? För att testa det sätter vi in följande kod:
Och vi ser i följande bild att det har fungerat:
FÖRSTORA
Låt oss gå vidare till XSS lagrad (lagrat).
4. XSS -lagrade DVWA -exempel
Vi ska utföra flera konceptbevis, det första vi ska göra är att infoga en kort text åtföljd av ett manus som en kommentar, låt oss se vad som händer, manuset är så enkelt som möjligt, det är följande:
Hej och hej då.
FÖRSTORA
När vi anger det som på föregående foto klickar vi på Signera gästbok, kommentaren skickas, inget konstigt händer, textsträngen syns, det finns inga tecken på manuset, som vi kan se nedan:
FÖRSTORA
Så ingenting hände? Tja, låt oss kontrollera det, uppdatera sidan och vi ser att varningen hoppar:
FÖRSTORA
Du kan också uppskatta att kommentaren bara har Hej, det var därför manuset sattes in mellan texten, så att du kan se att den läser den, den stannar vid varningen och när du klickar på OK får du resten av texten och resten av sidan som det saknades (liksom de gröna länkarna som fanns under kommentarsdelen).
Nu kommer vi att infoga ett formulär i kommentaren, du kan se att antalet tecken som man kan ange är begränsat till 50, eftersom vi ska inspektera HTML -koden för kommentarens textområde (högerklicka, Inspektera):
FÖRSTORA
Vi ser maxlängd = ”50”, vi kommer att lägga till en 0 till i slutet, kvar i 500, som vi ser nedan:
FÖRSTORA
Och nu ska vi kommentera följande HTML -kod:
Skriv ditt namn:Vi ser att han redan accepterar det, så vi ger till Signera gästbok och vi ser följande:
FÖRSTORA
Blanketten har infogats, som vi har verifierat. Slutligen, om du vill träna med mediumnivån i lagrad XSS, prova följande:
1: a. Ändra det maximala antalet tecken som namnfältet accepterar, precis som vi gjorde tidigare.
2: a. Lägg till följande namn:
Testa
3: e. Som en kommentar, lägg vad du vill.
4: e. Skicka kommentaren och uppdatera skärmen så ser du att den är sparad.
Om du ville ta bort kakan skulle jag ändra skriptet för följande:
Du kommer att se följande:
Därefter lämnar jag länken till ett ramverk som heter XSSer som hjälper oss att upptäcka, utnyttja och rapportera XSS -sårbarheter.
På sin sida kommer den som den är installerad (i Kali Linux 2016 kommer den redan) och exempel på användning.
Vi har sett möjligheterna som en angripare har när den presenteras för en sårbar webbsida, att undvika dessa attacker är inte svårtIdag har vi i alla programmeringsspråk funktioner som gör våra liv enklare. Det är viktigt att du kontrollerar dessa fel innan du startar en webbsida, eftersom det kan förstöra ditt företag.
Om du vill se en handledning där den här applikationen används, men andra typer av attacker utförs: Pentesting med DVWA.
Slutligen kommer en länk att tillhandahållas, om du vill se en annan typ av attack, som också behandlar injiceringskod: SQL -injektion.
Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng