Mes susiduriame su daugybe skirtingų kompiuterinių atakų, šioje pamokoje mes kalbėsime apie Kryžminis svetainių scenarijų (XSS) kibernetinis išpuolis. Ši ataka susideda iš nepageidaujamo kodo įvedimo į žiniatinklio programas. Tokiu būdu užpuolikas gali pakeisti programos elgesį, kuris gali sugadinti duomenis, prarasti informaciją, uždrausti paslaugą (DoS) ir pan.
Pavyzdžiui, užpuolikas gali priversti pažeidžiamą tinklalapį peradresuoti srautą į savo, o tai turi neigiamų pasekmių tiek puslapio savininkui, tiek vartotojams.
Kokias pasekmes tai galėtų turėti?
Įvairūs ir rimti, tačiau įsivaizduokite, kad „Facebook“ turi tokio tipo pažeidžiamumą, užpuolikas jį išnaudoja, o suklastojus pradinį puslapį sukuriamas šio puslapio klonas, taip imituojant „Facebook“. Vartotojai prisijungia, o užpuolikas išsaugo savo kredencialus, tada tiesiog nukreipia juos į oficialų puslapį, todėl vartotojas retai sužino.
Kur galime patikrinti, ar svetainė yra pažeidžiama?
Tai galite padaryti įvairiais būdais, tačiau dažniausiai tai yra forumuose ar vietose, kur jie leidžia komentuoti nuolatinio išpuolio atveju, arba URL adresuose, jei tai nėra nuolatinė ataka.
Kokia šio pažeidžiamumo priežastis?
Kadangi puslapiai netinkamai patikrina vartotojų įvestus duomenis, o išvestis taip pat nėra užkoduota. Taigi, jei turite tinklalapį, visada nepasitikite vartotojais, patvirtinančiais jų duomenis, programavimo kalbos jau pateikia funkcijas, kurios leidžia, pvz. strip_tag PHP pašalina HTML žymas (bet pažvelkite į jo įspėjimus).
XSS atakų tipaiNepatvarus arba veidrodinis tipasŠios atakos metu aukai pateikiamas manipuliuotas URL, kuriame kaip parametras bus įvedamas kodas.
Nuolatinis ar tiesioginis tipasVartotojo įterpti duomenys bus saugomi serveryje ir turės įtakos visiems vartotojams, prisijungiantiems prie žiniatinklio.
Mes matysime pavyzdžių, kaip nuo šiol bus vykdoma ataka.
PastabaMokymo tikslas yra tai, kad galite išbandyti savo sukurtas ar jums leidžiančių žmonių žiniatinklio programas, o ne taip, kad atliktumėte „kenkėjiškus“ veiksmus.
1. Nepastovus XSS pavyzdys
Norime nukreipti asmenį į puslapį, kurį kontroliuojame, tačiau priversdami jį manyti, kad jis lanko pradinį puslapį, galime išsiųsti jam el. Laišką su sutrumpinta nuoroda (arba ne), kurio turinys yra toks:
http://www.paginadeseada.com/?search=Šiame pavyzdyje aišku, kaip lengva išnaudoti tokio tipo pažeidžiamumą.
2. Nuolatinis XSS pavyzdys
Į komentarą galime įdėti HTML arba „JavaScript“ kodą, kuris išsaugomas serveryje ir kad kiekvieną kartą, kai įkeliamas puslapis su komentaru, jis nukreipiamas į mūsų tinklalapį, šiame pavyzdyje galima įterpti šį HTML kodą:
Mes kreipiamės į kitokį pavyzdį nei tie, kuriuos matėme dabar. Dabar pamatysime pavyzdžių, naudojant DVWA, žiniatinklio programą, sukurtą naudojant PHP ir MySQL. Ši programa jau yra „Metasploitable 2“, kurią galite įdiegti virtualioje mašinoje.
Tai leis mums išbandyti įvairias žiniatinklio atakas ir galime pakeisti saugumo laipsnį (pavyzdžiams naudojame žemą), taip pat galėsime pamatyti užpultus PHP kodus, todėl galėsite pamatyti, kas ne naudoti savo koduose.
3. XSS pavyzdžiai atspindėjo DVWA
Šiame skyriuje pamatysime keletą pavyzdžių, pradėkime. Jei parašysime įprastą pavadinimą, tas pats Bandymas, programa veikia gerai, pažiūrėkime vaizdą:
DIDELIS
Jei įvesime šį kodą kaip pavadinimą:
BandymasMatome, kad pavadinimas tampa paryškintas (galbūt paveikslėlyje jis nėra labai gerai įvertintas):
DIDELIS
Ir jei mes įdėsime įvestį, ar ji veiks? Norėdami jį patikrinti, įterpiame šį kodą:
Toliau pateiktame paveikslėlyje matome, kad tai pavyko:
DIDELIS
Pereikime prie Saugoma XSS (saugomi).
4. XSS saugomi DVWA pavyzdžiai
Mes atliksime keletą koncepcijos įrodymų, pirmiausia į komentarą įterpsime trumpą tekstą su scenarijumi, pažiūrėkime, kas atsitiks, scenarijus yra kuo lengvesnis, tai yra:
Sveiki ir atsisveikiname.
DIDELIS
Kai įvedame ją, kaip ir ankstesnėje nuotraukoje, spustelime Pasirašyti svečių knygą, komentaras siunčiamas, nieko keisto neįvyksta, matoma teksto eilutė, nėra jokių scenarijaus ženklų, kaip matome žemiau:
DIDELIS
Taigi, nieko neįvyko? Na, patikrinkime, atnaujinkime puslapį ir pamatysime, kad įspėjimas šokinėja:
DIDELIS
Taip pat galite suprasti, kad komentare yra tik „Labas“, todėl scenarijus buvo įdėtas tarp teksto, kad matytumėte, jog jis jį skaito, sustabdomas įspėjime ir spustelėjus „Gerai“ turėsite likusį tekstą ir likusio puslapio, kurio trūko (kaip ir žalios nuorodos, esančios po komentarų dalimi).
Dabar į komentarą įterpsime formą, matysite, kad galima įvesti ne daugiau kaip 50 simbolių, nes mes apžiūrėsime komentaro teksto srities HTML kodą (dešiniuoju pelės mygtuku spustelėkite, Tikrinti):
DIDELIS
Mes matome maksimalus ilgis = "50", prie pabaigos pridėsime dar 0, liksime 500, kaip matome žemiau:
DIDELIS
Ir dabar mes komentuosime šį HTML kodą:
Parašyk savo vardą:Matome, kad jis tai jau priima, todėl duodame Pasirašykite svečių knygą ir mes matome tai:
DIDELIS
Forma buvo įterpta, kaip mes patikrinome. Galiausiai, jei norite praktikuoti vidutinio lygio saugomą XSS, pabandykite atlikti šiuos veiksmus:
1 -asis. Pakeiskite maksimalų simbolių skaičių, kurį priima laukas Pavadinimas, kaip ir anksčiau.
2 -as. Pridėkite šį pavadinimą:
Bandymas
3 -as. Kaip komentarą parašykite tai, ko norite.
4 -as. Siųskite komentarą ir atnaujinkite ekraną, pamatysite, kad jis išsaugotas.
Jei norite pašalinti slapuką, pakeisčiau scenarijų taip:
Pamatysite šiuos dalykus:
Toliau palieku nuorodą į sistemą, vadinamą XSSer, kuri mums padės aptikti, išnaudoti ir pranešti apie XSS pažeidžiamumus.
Jo puslapyje pateikiamas toks, koks jis yra įdiegtas („Kali Linux 2016“ jis jau yra), ir naudojimo pavyzdžiai.
Mes matėme galimybes, kurias užpuolikas turi, kai jam pateikiamas pažeidžiamas tinklalapis, išvengti tokių išpuolių nėra sunkuŠiandien bet kuria programavimo kalba turime funkcijų, palengvinančių mūsų gyvenimą. Svarbu, kad prieš paleisdami tinklalapį patikrintumėte šias klaidas, nes tai gali sugadinti jūsų verslą.
Jei norite pamatyti mokymo programą, kurioje naudojama ši programa, tačiau atliekamos ir kitos rūšies atakos: testavimas naudojant DVWA.
Galiausiai bus pateikta nuoroda, jei norite pamatyti kito tipo atakas, kurios taip pat susijusios su švirkščiamojo kodo įvedimu: SQL injekcija.
Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką