Bandymas užpulti ir ginti žiniatinklio programas naudojant „bWAPP“

„bWAPP“ yra svetainė, kuri buvo sukurta su pažeidžiamumais, kad pradedantieji ir ekspertai galėtų atlikti bandymus ir etikos įsilaužimo praktiką. Jis gali būti priglobtas „Linux“ arba „Windows“ sistemoje „Apache“ arba IIS ir „MySQL“. Jis palaikomas WAMP arba XAMPP. Kita galimybė yra naudoti virtualią mašiną, kuri veikia „VMware“ arba „VirtualBox“.

„bWAPP“ yra nemokama ir atvira, ją galima atsisiųsti dviem versijomis: vieną naudoti vietoje, o kitą įdiegti virtualioje mašinoje. Svetainė sukurta naudojant PHP ir MySQL, todėl ji yra kelių platformų. Įdiegimo bWAPP atsisiunčiame vietoje, jei norime įdiegti virtualioje mašinoje, projektas yra „Bee-Box“.

„Bee-box“ yra „Linux“ virtuali mašina, kurioje yra viskas iš anksto įdiegta. Tokiu būdu turime tik ištirti visus bWAPP pažeidžiamumus, nerizikuodami sugadinti bWAPP svetainės. Taip pat naudodami virtualią mašiną galime pabandyti gauti root prieigą.

bWAPP turi daugiau nei 100 klaidų Siekiant ištirti ir atrasti, jis apima visus žinomus žiniatinklio pažeidžiamumus, įskaitant visas saugumo rizikas. Projektas ne tik leidžia atrasti pažeidžiamumus, bet ir leidžia rasti sprendimą.

Šioje pamokoje įdiegsime „Bee-Box“ bWAPP versijąNorėdami tai padaryti, išpakuojame atsisiųstą failą ir sukuriame aplanką su daugybe vmdk failų vietiniame serveryje. Toliau sukursime virtualią mašiną, priskiriant 32 bitų „Linux Ubuntu“ versiją.

Toliau turime pasirinkti atsisiųstą failą pavadinimu bitė-dėžė.vdmk

Prieš paleisdami virtualią mašiną, atminkite, kad turėsime sukonfigūruoti tinklą, tai darome iš Nustatymas kad turėtum IP adresą ir galėtum pasiekti virtualią mašiną iš kito kompiuterio.

Spustelėkite „Sukurti“, tada „Pradėti“, kad virtualioji mašina pradėtų veikti, kai ją įkelsime, pamatysime darbalaukį.

Toliau atidarysime terminalą, kad pamatytume, kas IP naudoja komandą ifconfig.

Matome, kad šiuo atveju IP yra 192.168.0.14, jei išbandysime tą IP kompiuteryje už virtualios mašinos ribų, turėtume turėti prieigą prie žiniatinklio:

 http://192.168.0.14/bWAPP
Ir rezultatas bus toks:

Tada galime pradėti nuo prisijungimo puslapio, pagal numatytuosius nustatymus vartotojas yra bitė, o slaptažodis yra klaida norint patekti į valdymo skydelį. Meniu „Bugs“ turėsime keletą pavyzdžių, kaip naudoti ir išbandyti kai kuriuos pažeidžiamumus nuo paprasčiausio iki sudėtingiausio. Pažiūrėkime kai kuriuos pažeidžiamumas pagal atakos tipą.

The pažeidžiamumas yra suskirstytas į kategorijas ar skyrius kurie yra šie:

A1 injekcijosČia sugrupuoti pažeidžiamumai HTML įpurškimas, SQL, XSS, XPATH ir visi tie, kurie susiję su parametrų siuntimu per naršykles.

A2 pertraukos autentifikavimas ir seansaiČia atrodo pažeisti „captchas“ ir prisijungimo formas naudojant URL pakeitimo metodus, parametrų fiksavimą ir seanso ID naudojimą.

A3 kryžminis svetainių scenarijus (XSS)Čia yra Su XSS susiję pažeidžiamumai kurie nėra labai pavojingi, bet erzina.

A4 Nesaugūs objektai ir katalogaiČia apie tai pakeisti parametrus nuorodose iš kodo prieš pateikiant formą.

A5 Sauga ir konfigūracijaČia mes pamatysime kai kurios atakos, tokios kaip DDOS ir vidurio puolimas, kuris sieks paveikti tokias paslaugas kaip paštas ir veikiančios paslaugos.

A6 Neskelbtinų duomenų atskleidimasČia pamatysime daugybę pažeidžiamumų, kurie leidžia serverio duomenys atskleidžiami naršyklėje.

Tai yra keletas pažeidžiamumų, šioje pamokoje mes sutelksime dėmesį į labiausiai žinomas atakas ir galimybę perimti serverio valdymą.

1. HTML injekcija


HTML atspindėtas įpurškimas leidžia įterpti HTML kodą į teksto lauką ir rodyti jį žiniatinklyje. Mes pasirenkame pirmąjį „Injection by GET“ metodą, turime du teksto laukelius, jei kiekviename įvedame, pavyzdžiui, nuorodą:
 Skubus pranešimas | Jūsų pardavimai
Siųsdami formą pamatysime, kad abi nuorodos rodomos ir paliksime laukti, kol kas nors spustelės. Taip pat galime išbandyti POST metodą.

DIDELIS

Kita problema, susijusi su nekontroliuojamu HTML duomenų įvedimu, yra ta, kad galėtume atsiųsti formą, kuri priverstų vartotoją manyti, kad jis turi prisijungti arba įvesti tam tikrus duomenis ir nusiųsti tuos duomenis į kitą puslapį.

 Jūs buvote atjungtas. 
Norėdami tęsti naudojimą, įveskite savo vartotojo vardą ir slaptažodį:
Raktas:

DIDELIS

2. SQL injekcija


Pažvelkime į kitą ataką, pvz., SQL įpurškimą, jei BUG ieškosime SQL įpurškimo parinkties (GET / Search), šiame skyriuje galime ieškoti filmų, pavyzdžiui, „Iron Man“, todėl gaunami filmo duomenys.

DIDELIS

Tada galime pabandyti įvesti SQL kodą, kad patikrintume, ar duomenų bazė yra pažeidžiama, tam naudojame šį kodą, kuris grąžins duomenų bazių sąrašą, jei:

 geležies žmogaus sąjunga pasirinkite 1, lentelės_pavadinimas, 3,4,5,6,7 iš INFORMATION_SCHEMA.TABLES kur table_schema = duomenų bazė () -'
Rezultatas yra lentelių sąrašas, todėl duomenų bazė yra pažeidžiama:

DIDELIS

Žinodami, kad duomenų bazė yra pažeidžiama, galime naudoti kai kuriuos metodus, kuriuos matėme pamokoje SQLMAP, SQL įpurškimo įrankį ir etinį duomenų bazių įsilaužimą, kur pasiekiame šaknies lygį ieškodami administratoriaus raktų.

Iš terminalo lango rašome šią komandą, naudojame puslapį, kuriame ieškome filmo, nes jame yra parametras, kuris gali būti pažeidžiamas.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" --dbs

Tai rodo mums duomenų bazes, viena iš jų yra bWAPP, todėl stengsimės gauti lentelių sąrašą žinodami, kad duomenų bazės variklis yra „MySQL 5. Norėdami gauti lentelių sąrašą, naudosime šią komandą.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" lentelės

Matome, kad jame išvardytos visos lentelės ne tik iš žiniatinklio, bet ir iš sistemos, todėl duomenis galime gauti iš „Linux“ administratoriaus. Mes taip pat galime išnaudoti PHP seansą naudodami „Firebug“, matome seanso numerį, nes kuriant vartotoją ar prisijungiant ar generuojant tam tikrą dinaminį turinį, pvz., Paiešką, serverio atsakymas sukurs PHPSession.

DIDELIS

Naudojant komandą -vartotojai ir sesija arba su komanda be sesijos galėsime matyti sistemos vartotojus.

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" -vartotojai
Kita pasirinkimo komanda su seanso ID:
 sqlmap -u „http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search“ --cookie = ”PHPSESSID = e6f734f935bca3bf86013add7ea2e3f9; security_level = 0“ -vartotojai

Toliau ieškosime sistemos vartotojų naudodami šią komandą:

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" dba --is -dba -privilegijos --dbs -dump 
Dėl to mes gausime lenteles, kuriose yra slaptažodis, vienas iš jų yra vartotojai, turintys administratoriaus duomenis, o kitas - lentelių herojai ir vartotojai (vartotojai), kuriuos naudosime prisijungdami kaip vartotojai.

Vartotojų lentelėje yra svetainės administratoriaus duomenys:

Toliau gausime aukščiau rastų vartotojų pagrindinį slaptažodį, tam naudojame šią komandą:

 sqlmap -u "http://192.168.0.14/bWAPP/sqli_1.php?title=iron&action=search" -f -b -dabartinis vartotojas --is -dba --is -dba -privilegijos --dbs - sąvartynas
Pasibaigus komandoms per brutalios jėgos ataką, mes pastebime, kad sistemos administratoriaus slaptažodis yra klaida, o vartotojas yra root.

Mes bandysime iš terminalo, per ssh prisijungti prie virtualios mašinos ir nuotoliniu būdu valdyti kompiuterį naudodami šią komandą:

 ssh [email protected]
Rezultatas naudojant pagrindinį vartotoją ir klaidos slaptažodį yra ryšys su administratoriaus teisėmis į virtualią mašiną.

Toliau išbandome, ar galime prisijungti prie herojų ir vartotojų skyriaus naudodami anksčiau gautus duomenis, pavyzdžiui, neo vartotoją ir trejybės slaptažodį.

Mums pavyko pasiekti šiuos vartotojo duomenis be problemų. Jei naudojame naudotojų lentelę, taip pat galime prisijungti.

3. HTML / XPATH injekcija


Viena iš mažiausiai galvojančių apie atakas yra per tas naršykles, kurios leidžia redaguoti kodą, jei pakeisime nuorodą į kenkėjišką svetainę, vartotojas to nepastebės ir pakeitimas bus prarastas atnaujinus žiniatinklį.

Pavyzdžiui, mes pakeisime slaptažodį ir dešiniuoju pelės mygtuku spustelėkite, kad atidarytumėte inspektorių arba kodo redaktorių ir pakeistumėte URL change_password.php į http://google.com ir uždarytumėte redaktorių

DIDELIS

Taigi, kai vartotojas spustelės tą nuorodą, jie bus nukreipti į kitą puslapį, tai yra labai neveiksminga, nes atnaujinant ar keičiant puslapį, nuoroda grįžta į pradinę. Tai turime padaryti prieš spustelėdami nuorodą, nukreipiančią mus į saugią svetainę arba tame pačiame domene.

4. Serverio pusės įpurškimas


Serverio pusės įpurškimas yra tada, kai svetainė yra pažeidžiama ir leidžia įvesti komandas iš kalbos ar operacinės sistemos, kad atliktų veiksmus serveryje.

Užpuolikas siunčia kenkėjišką kodą arba komandą per žiniatinklio programos, kurią valdo žiniatinklio serveris, teksto lauką. Pažiūrėkime pavyzdį, kuris leis jums išvardyti katalogus naudojant „Linux ls“ komandą, kurią parašysime taip:

 

DIDELIS

Rezultatas bus visų serverio katalogų sąrašas, todėl turime patikrinti, ar negalima įvesti jokių komandų.

DIDELIS

Vienas iš įrankių, kuriuos mums siūlo bWAPP projektas, yra ZAP (Zed Attack Proxy), mes matėme šį įrankį pamokoje Nuskaityti svetainės pažeidžiamumą naudojant ZAP, jis plačiai naudojamas pažeidžiamumui nuskaityti ir svetainių skverbties testams atlikti. Naujausią versiją galime atsisiųsti iš šios nuorodos:

ATSISIŲSTI ZAP

Pasirinkite versiją pagal mūsų turimą operacinę sistemą arba daugiaplatformę versiją, sukurtą „Java“. Įdiegę bandysime nuskaityti „bWAPP“ žiniatinklį naudodami ZAP ir ieškoti kai kurių pažeidžiamumų.

DIDELIS

Kai pradėsime ZAP ir atliksime nuskaitymą, pamatysime, kad jis aptinka daugumą pažeidžiamumų, norėdami apibrėžti nuskaitymo taisykles, galime pereiti į meniu Analizuoti> Nuskaitymo taisyklės ir tada dukart spustelėsime Numatytoji politika.

Pažiūrėkime viename iš prisijungimo puslapių, jis nustatė, kad vartotojo lygis siunčiamas kaip parametras, šiuo atveju administratorius.

DIDELIS

Mes taip pat galime naudoti filtrus, kaip matėme ZAP vadove, SQL injekcijoms ir kitoms atakoms atlikti.

Žiniatinklio programų saugumas yra labai svarbus aspektas, be gero dizaino ir turinio. „bWAPP“ yra platforma, kuri leis mums sužinoti ir išbandyti daugelį pažeidžiamumų, o vėliau pritaikyti šias žinias savo svetainėje, taip pat tarnauti tam, kad specialistai, kūrėjai ir studentai galėtų atrasti ir užkirsti kelią žiniatinklio pažeidžiamumui.

„bWAPP“ yra plačiai naudojamas žiniatinklio programų skverbties testams ir etiniams įsilaužimo projektams. bWAPP apima visus žinomus žiniatinklio pažeidžiamumus, įskaitant visą projekto „OWASP Top 10“ riziką, kuri kiekvienais metais renka pažeidžiamumus 10 kategorijų.

Galiausiai rekomenduojame šį straipsnį su paaiškinimu kibernetinių atakų rūšių.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave