Kaip nulaužti svetainę: internetinių svetainių įsilaužimas, pavyzdys

Turinys:

Anonim

Daugiau žmonių gali naudotis internetu nei bet kada anksčiau. Tai paskatino daugelį organizacijų kurti žiniatinklio programas, kurias vartotojai gali naudoti internete, norėdami bendrauti su organizacija. Blogai parašytas žiniatinklio programų kodas gali būti naudojamas norint gauti neteisėtą prieigą prie neskelbtinų duomenų ir žiniatinklio serverių.

Šioje pamokoje sužinosite, kaip nulaužti svetaines, ir mes supažindinsime jus su interneto programų įsilaužimo technikomis ir kovos priemonėmis, kurias galite naudoti, kad apsisaugotumėte nuo tokių išpuolių .

Šioje pamokoje aptartos temos

  • Kas yra žiniatinklio programa? Kas yra žiniatinklio grėsmės?
  • Kaip apsaugoti savo svetainę nuo įsilaužimų?
  • Svetainės įsilaužimo gudrybės: įsilaužkite į internetinę svetainę!

Kas yra žiniatinklio programa? Kas yra žiniatinklio grėsmės?

Žiniatinklio programa (dar žinomas kaip svetainė) yra programa, pagrįsta kliento-serverio modeliu. Serveris suteikia prieigą prie duomenų bazės ir verslo logiką. Jis priglobtas žiniatinklio serveryje. Kliento programa veikia kliento žiniatinklio naršyklėje. Interneto programos paprastai rašomos tokiomis kalbomis kaip „Java“, „C #“ ir „VB.Net“, PHP, „ColdFusion Markup Language“ ir kt. Žiniatinklio programose naudojami duomenų bazių varikliai yra „MySQL“, „MS SQL Server“, „PostgreSQL“, „SQLite“ ir kt.

Dauguma žiniatinklio programų priglobiamos viešuosiuose serveriuose, prieinamuose internetu. Tai daro juos pažeidžiamus atakų dėl lengvo prieinamumo. Toliau pateikiamos įprastos žiniatinklio programų grėsmės.

  • SQL injekcija - šios grėsmės tikslas gali būti apeiti prisijungimo algoritmus, sabotažuoti duomenis ir kt.
  • Paslaugų atakų atsisakymas - šios grėsmės tikslas gali būti uždrausti teisėtiems vartotojams prieigą prie šaltinio
  • „Cross Site Scripting XSS“ - šios grėsmės tikslas gali būti įvesti kodą, kurį galima vykdyti kliento naršyklėje.
  • Apsinuodijimas slapukais / sesijomis - šios grėsmės tikslas yra modifikuoti užpuoliko slapukus / sesijos duomenis, kad gautų neteisėtą prieigą.
  • Formos klastojimas - šios grėsmės tikslas yra modifikuoti formos duomenis, pvz., Kainas elektroninės prekybos programose, kad užpuolikas galėtų gauti elementus mažesnėmis kainomis.
  • Kodo įpurškimas - šios grėsmės tikslas yra įšvirkšti tokius kodus kaip PHP, Python ir kt., Kuriuos galima vykdyti serveryje. Kodas gali įdiegti užpakalines duris, atskleisti neskelbtiną informaciją ir kt.
  • Šmeižtas - šios grėsmės tikslas yra modifikuoti tinklalapyje rodomą puslapį ir nukreipti visas puslapio užklausas į vieną puslapį, kuriame yra užpuoliko pranešimas.

Kaip apsaugoti savo svetainę nuo įsilaužimų?

Organizacija gali taikyti šią politiką, kad apsisaugotų nuo žiniatinklio serverio atakų.

  • „SQL Injection“ - išvalydami ir patvirtindami vartotojo parametrus prieš pateikdami juos į duomenų bazę apdoroti, galite sumažinti tikimybę, kad bus užpulti naudojant „SQL Injection“. Duomenų bazių varikliai, tokie kaip MS SQL Server, MySQL ir kt., Palaiko parametrus ir parengtus teiginius. Jie yra daug saugesni nei tradiciniai SQL sakiniai
  • „Denial of Service Attacks“ - užkardos gali būti naudojamos srautui pašalinti iš įtartino IP adreso, jei ataka yra paprasta DoS. Tinkama tinklų ir įsibrovimo aptikimo sistemos konfigūracija taip pat gali padėti sumažinti sėkmingos DoS atakos tikimybę.
  • Kelių svetainių scenarijai - patvirtinant ir išvalant antraštes, parametrus, perduodamus per URL, formos parametrus ir paslėptas reikšmes, galima sumažinti XSS atakas.
  • Apsinuodijimas slapukais / seansais - to galima išvengti užšifruojant slapukų turinį, pasibaigus tam tikram laiko tarpui, susiejant slapukus su kliento IP adresu, kuris buvo naudojamas jiems sukurti.
  • Formos grūdinimas - to galima išvengti patikrinus ir patikrinus vartotojo įvestį prieš ją apdorojant.
  • Kodo įpurškimas - to galima išvengti traktuojant visus parametrus kaip duomenis, o ne vykdomąjį kodą. Šiam tikslui įgyvendinti gali būti naudojamas sanitarinis valymas ir patvirtinimas.
  • Nepakankamumas - gera interneto programų kūrimo saugumo politika turėtų užtikrinti, kad ji pašalintų dažniausiai naudojamas spragas prieigai prie tinklo serverio. Tai gali būti tinkama operacinės sistemos konfigūracija, žiniatinklio serverio programinė įranga ir geriausia saugumo praktika kuriant žiniatinklio programas.

Svetainės įsilaužimo gudrybės: nulaužkite svetainę internete

Pagal šį įsilaužimo praktinį scenarijų mes užgrobsime žiniatinklio programos, esančios www.techpanda.org, vartotojo sesiją. Mes naudosime kelių svetainių scenarijus, norėdami perskaityti slapuko sesijos ID, tada naudosime jį apsimetinėti teisėta vartotojo sesija.

Daroma prielaida, kad užpuolikas turi prieigą prie žiniatinklio programos ir jis norėtų užgrobti kitų tą pačią programą naudojančių vartotojų seansus. Šios atakos tikslas gali būti administratoriaus prieiga prie žiniatinklio programos, darant prielaidą, kad užpuoliko prieigos paskyra yra ribota.

Darbo pradžia

  • Atidarykite http://www.techpanda.org/
  • Praktikos tikslais labai rekomenduojama gauti prieigą naudojant „SQL Injection“. Daugiau informacijos apie tai, kaip tai padaryti, rasite šiame straipsnyje.
  • Prisijungimo el. Pašto adresas yra Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Jums reikia įjungti „JavaScript“, kad galėtumėte jį peržiūrėti. Slaptažodis yra „Password2010“
  • Jei sėkmingai prisijungėte, gausite šią informacijos suvestinę
  • Spustelėkite Pridėti naują kontaktą
  • Kaip vardą įveskite šį vardą

Tamsi

ČIA

Aukščiau pateiktas kodas naudoja „JavaScript“ . Tai prideda hipersaitą su „onclick“ įvykiu . Neabejojančiam vartotojui spustelėjus nuorodą, įvykis nuskaito PHP slapuko seanso ID ir išsiunčia jį į puslapį snatch_sess_id.php kartu su seanso ID URL.

  • Įveskite likusią informaciją, kaip parodyta žemiau
  • Spustelėkite Išsaugoti pakeitimus
  • Informacijos suvestinė dabar atrodys kaip kitas ekranas
  • Kadangi kelių svetainių scenarijų kodas yra saugomas duomenų bazėje, jis bus įkeltas kiekvieną kartą, kai vartotojai, turintys prieigos teises, prisijungs
  • Tarkime, kad administratorius prisijungia ir spusteli hipersaitą, kuriame parašyta „Dark“
  • Jis / ji gaus langą su seanso ID, rodomu URL

Pastaba : scenarijus gali siųsti vertę į kokį nors nuotolinį serverį, kuriame saugomas PHPSESSID, tada vartotojas nukreipė atgal į svetainę, tarsi nieko neįvyko.

Pastaba : jūsų gaunama vertė gali skirtis nuo šioje tinklalapio įsilaužimo mokymo programoje pateiktos vertės, tačiau koncepcija yra ta pati

Apsimetinėjimas sesija naudojant „Firefox“ ir „Tamper Data“ priedą

Žemiau esančioje schemoje parodomi veiksmai, kuriuos turite atlikti, kad atliktumėte šį pratimą.

  • Šiam skyriui reikės „Firefox“ žiniatinklio naršyklės ir „Tamper Data“ priedo
  • Atidarykite „Firefox“ ir įdiekite priedą, kaip parodyta toliau pateiktose diagramose
  • Ieškokite klastotės duomenų, tada spustelėkite diegti, kaip parodyta aukščiau
  • Spustelėkite Priimti ir įdiegti ...
  • Baigę diegimą spustelėkite „Paleisti iš naujo“ dabar
  • Įjunkite „Firefox“ meniu juostą, jei ji nerodoma
  • Spustelėkite įrankių meniu, tada pasirinkite „Tamper Data“, kaip parodyta žemiau
  • Gausite šį langą. Pastaba: jei „Windows“ nėra tuščia, paspauskite mygtuką Išvalyti
  • Spustelėkite meniu Pradėti klastojimą
  • Grįžkite į „Firefox“ žiniatinklio naršyklę, įveskite http://www.techpanda.org/dashboard.php, tada paspauskite klavišą „Enter“, kad įkeltumėte puslapį
  • Iš „Tamper Data“ gausite šį iššokantį langą
  • Iššokančiajame lange yra trys (3) variantai. Tamperio parinktis leidžia modifikuoti HTTP antraštės informaciją prieš ją pateikiant į serverį .
  • Spustelėkite jį
  • Gausite šį langą
  • Nukopijuokite iš atakos URL nukopijuotą PHP seanso ID ir įklijuokite jį po lygybės ženklo. Jūsų vertė dabar turėtų atrodyti taip

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Spustelėkite mygtuką Gerai
  • Vėl gausite „Tamper“ duomenų iššokantį langą
  • Atžymėkite žymimąjį laukelį, kuriame prašoma Tęsti klastojimą?
  • Baigę spustelėkite mygtuką pateikti
  • Turėtumėte matyti prietaisų skydelį, kaip parodyta žemiau

Pastaba : mes neprisijungėme, apsimetėme prisijungimo sesija naudodami PHPSESSID vertę, kurią gavome naudodami kelių svetainių scenarijus

Santrauka

  • Interneto programa yra pagrįsta serverio-kliento modeliu. Kliento pusė naudoja žiniatinklio naršyklę, kad pasiektų serverio išteklius.
  • Interneto programas paprastai galima pasiekti internetu. Tai daro juos pažeidžiamus atakų.
  • Žiniatinklio programų grėsmės apima „SQL Injection“, „Code Injection“, XSS, „Defacement“, apsinuodijimą slapukais ir kt.
  • Gera saugumo politika kuriant žiniatinklio programas gali padėti jas apsaugoti.