Veebirakenduste häkkimise metoodikad

Veebirakendused on programmid, mis võimaldavad kasutajatel veebiserveritega suhelda. Neid käitatakse veebibrauserites kliendi- ja serveripoolsete skriptide abil.

Veebirakenduse arhitektuur koosneb:

  • Kliendi / esitluse kiht
  • Äriloogika kiht
  • Andmekogude kiht

Kliendi / esitluskiht koosneb seadmetest, millel rakendus töötab. Selliste seadmete hulka kuuluvad sülearvutid, tahvelarvutid, nutitelefonid jne.


Äriloogika kihil on kaks kihti:


  • Veebiserveri loogikakiht, mis koosneb komponentidest, mis käsitlevad taotlusi ja vastuseid, ning kodeeringust, mis loeb ja tagastab andmed brauseris



  • Äriloogika kiht, mis sisaldab rakenduse andmeid

Andmekogukiht koosneb B2B kihist ja andmebaasiserverist, kuhu organisatsiooni andmed on salvestatud.



Veebirakenduse ohud ja rünnakud

OWASP on avatud kogukond, mis on pühendatud organisatsioonide usaldusväärsete rakenduste väljatöötamisele, arendamisele, omandamisele, haldamisele ja hooldamisele.

OWASP Top 10 projekt koostab dokumendi, mis kirjeldab rakenduse kümmet parimat turvaohtu.


Uusimas dokumendis on loetletud järgmised kümme peamist turvaohtu:

Süstimine

Süstimisrünnak on rünnak, mille käigus ründaja süstib pahatahtlikke andmeid käskudesse ja päringutesse, mis seejärel rakenduses täidetakse.

See rünnak on suunatud rakenduse sisendväljadele või sisestuspunktidele ja võimaldab ründajatel tundlikku teavet välja võtta.

Kõige sagedamini kasutatavad süstimisrünnakud on:


  • SQL-i süstimine on rünnak, mille käigus ründaja süstib rakendusse pahatahtlikke SQL-päringuid
  • Käskude süstimine on rünnak, mille käigus ründaja süstib rakendusse pahatahtlikke käske
  • LDAP süstimine on rünnak, mille käigus ründaja süstib rakendusse pahatahtlikke LDAP-avaldusi

Katkine autentimine

Katkine autentimine viitab ohtudele ja haavatavustele autentimisel ja seansside haldamisel.

Ründajad kasutavad neid haavatavusi ära, et esineda oma sihtmärkidena.

Mõned olemasolevad haavatavused hõlmavad järgmist.

  • Seansside ID-d URL-ides
  • Krüptimata paroolid
  • Valesti määratud ajalõpp

Tundlik andmete kokkupuude

Tundlikud andmete kokkupuute ohud ilmnevad rakendustes, mis kasutavad andmete krüptimiseks ja salvestamiseks nõrka krüptokoodi.


See haavatavus võimaldab ründajatel krüptimise hõlpsalt murda ja andmeid varastada.

XML väline üksus

XML-välise üksuse rünnak on rünnak, mille puhul ründaja kasutab ära halvasti konfigureeritud XML-parserit, mille tõttu rakendus sõelub ebausaldusväärsest allikast pärit XML-sisendi.

Katkine juurdepääsukontroll

Katkine juurdepääsukontroll viitab juurdepääsukontrolli ohtudele ja haavatavustele. Ründajad kasutavad neid haavatavusi autentsusest kõrvale hoidmiseks ja administraatoriõiguste saamiseks.

Turvalisuse vale seadistamine

Turvalisuse valesti seadistamine viitab haavatavustele, mis esinevad halvasti konfigureeritud rakenduste korstnaga rakendustes.


Mõned probleemid, mis põhjustavad turvalisuse valesti seadistamise haavatavusi, on järgmised:

  • Valideerimata sisendväljad
  • Vormi ja parameetritega manipuleerimine
  • Kehv vigade käsitlemine

Saididevaheline skriptimine (XSS)

Saididevahelise skriptimise rünnak on rünnak, mille käigus ründaja süstib skripte veebisaitidele, mis käivitatakse sihtmärgi süsteemis.

Ebakindel deserialiseerimine

Ebaturvaline deserialiseerimine viitab haavatavusele, mida ründajad kasutavad, süstides pahatahtlikku koodi jadastatud andmetesse, mis seejärel sihtmärgile saadetakse.

Ebaturvalise deserialiseerimise haavatavuse tõttu deserialiseeritakse pahatahtlikud jadastatud andmed pahatahtlikku koodi tuvastamata, mis võimaldab ründajal saada süsteemile volitamata juurdepääsu.

Teadaolevate haavatavustega komponentide kasutamine

Teadaolevate haavatavustega komponentide kasutamine võimaldab ründajatel neid ära kasutada ja rünnakuid läbi viia.

Ebapiisav logimine ja jälgimine

Ebapiisav logimine ja jälgimine ilmnevad siis, kui rakendus ei suuda pahatahtlikke sündmusi ja tegevusi logida. See tekitab raskusi süsteemi rünnakute tuvastamisel.



Häkkimise metoodika

Veebirakenduste häkkimise metoodika pakub ründajatele eduka rünnaku sooritamiseks juhiseid.

Need toimingud on järgmised:

Veebitaristu jälgimine

Veebitaristu jälgimine aitab ründajal koguda teavet veebi infrastruktuuri kohta ja tuvastada haavatavusi, mida saab kasutada.

Selles protsessis teeb ründaja järgmist:

  • Serveri avastamine, et saada teavet rakendust hostivate serverite kohta
  • Teenuse avastamine, et määrata, millist teenust saab rünnata
  • Serveri tuvastamine, et saada teavet serveri kohta, näiteks versioon ja versioon
  • Peidetud sisu avastamine peidetud sisu avastamiseks

Veebiserveri rünnak

Jalgade jäljendamise etapis kogutud teave võimaldab häkkeritel seda analüüsida, leida haavatavusi, mida kasutada, ja kasutada mitmesuguseid tehnikaid serverile rünnakute käivitamiseks.

Veebirakenduste analüüs

Ründajad analüüsivad sihtveebirakendust, et tuvastada selle haavatavused ja neid ära kasutada.

Rakenduse häkkimiseks peavad ründajad:

  • Määrake kasutaja sisendi sisestuspunktid
  • Tehke kindlaks serveripoolsed tehnoloogiad, mida kasutatakse dünaamiliste veebilehtede loomiseks
  • Tuvastage serveripoolne funktsionaalsus
  • Tehke kindlaks rünnakualad ja nendega seotud haavatavused

Kliendipoolne juhib kõrvalehoidmist

Ründajad üritavad mööda minna kasutaja sisendite ja suhtluse kliendipoolsest kontrollist.

Kliendipoolsete juhtnuppude ületamiseks üritavad ründajad:

  • Ründavad varjatud vormiväljad
  • Ründage brauseri laiendusi
  • Vaadake lähtekood üle

Autentimisrünnakud

Ründajad üritavad ära kasutada autentimismehhanismides esinevaid haavatavusi.

Selliseid haavatavusi ära kasutades saavad ründajad teha järgmist:

  • Kasutajanime loendamine
  • Paroolirünnakud
  • Seansirünnakud
  • Toimiv küpsis

Autoriseerimisrünnakud

Autoriseerimisrünnak on rünnak, mille käigus ründaja pääseb rakendusele juurde legaalse konto kaudu, millel on piiratud õigused, ja kasutab seejärel seda kontot privileegide eskaleerimiseks.

Autoriseerimisrünnaku sooritamiseks kasutab ründaja järgmisi allikaid:

  • VIHKAMINE
  • Parameetri rikkumine
  • POSTITA andmed
  • HTTP päised
  • Küpsised
  • Peidetud sildid

Juurdepääsukontrolli rünnakud

Ründajad analüüsivad sihtveebisaiti, et saada teavet rakendatud juurdepääsukontrolli üksikasjade kohta.

Selle protsessi käigus üritavad ründajad teada saada, kellel on juurdepääs millistele andmekogumitele, kellel on juurdepääsutasem ja kuidas privileege laiendada.

Seansihalduse rünnakud

Ründajad kasutavad autentsuse ja seansside haldamise haavatavusi, et esineda oma sihtmärkidena.

Kehtiva seansi loa loomise protsess koosneb kahest etapist:

  • Seansimärgi ennustus
  • Seansi märgi rikkumine

Kehtiva loaga saavad ründajad sooritada selliseid rünnakuid nagu MITM, seansi kaaperdamine ja seansi kordus.

Süstimisrünnakud

Ründajad kasutavad pahatahtlike päringute ja käskude sisestamiseks valideerimata vormisisendeid.

Rakendusloogika haavatavuse kasutamine

Nõrk kodeerimisoskus võib muuta rakenduse haavatavaks loogikavigade tõttu. Kui ründajal õnnestub sellised vead tuvastada, saavad nad neid ära kasutada ja rünnaku korraldada.

Andmebaasi ühenduse rünnakud

Ründajad korraldavad andmebaasiühenduse vastu rünnakuid, et saada andmebaasi üle kontroll ja saada juurdepääs tundlikule teabele.

Veebiteenuste rünnakud

Ründajad sihivad veebirakendusse integreeritud veebiteenuseid, et leida ja ära kasutada rakenduse äriloogika nõrku kohti.

Seejärel kasutavad nad rakendusele rünnaku sooritamiseks erinevaid tehnikaid.