Več ljudi ima dostop do interneta kot kdaj koli prej. To je mnoge organizacije spodbudilo k razvoju spletnih aplikacij, ki jih lahko uporabniki uporabljajo v spletu za interakcijo z organizacijo. Slabo napisano kodo za spletne aplikacije je mogoče izkoristiti za nepooblaščen dostop do občutljivih podatkov in spletnih strežnikov.
V tej vadnici boste izvedeli, kako vdreti v spletna mesta, predstavili pa vam bomo tudi tehnike vdora v spletne aplikacije in protiukrepe, ki jih lahko uporabite za zaščito pred takimi napadi .
Teme v tej vadnici
- Kaj je spletna aplikacija? Kaj so spletne grožnje?
- Kako zaščititi svojo spletno stran pred vdori?
- Triki za vdiranje v spletno mesto: Vdirajte spletno mesto v spletu!
Kaj je spletna aplikacija? Kaj so spletne grožnje?
Spletna aplikacija (ali spletna stran) je aplikacija, ki temelji na modelu odjemalec-strežnik. Strežnik omogoča dostop do baze podatkov in poslovno logiko. Gostuje na spletnem strežniku. Odjemalska aplikacija se izvaja v odjemalskem spletnem brskalniku. Spletne aplikacije so običajno napisane v jezikih, kot so Java, C # in VB.Net, PHP, ColdFusion Markup Language itd., Mehanizmi zbirk podatkov, ki se uporabljajo v spletnih aplikacijah, vključujejo MySQL, MS SQL Server, PostgreSQL, SQLite itd.
Večina spletnih aplikacij gostuje na javnih strežnikih, dostopnih prek interneta. Zaradi tega so zaradi enostavne dostopnosti ranljivi za napade. Spodaj so navedene pogoste grožnje spletnih aplikacij.
- SQL Injection - cilj te grožnje bi lahko bil obiti algoritme za prijavo, sabotirati podatke itd.
- Napadi zavrnitve storitve - cilj te grožnje bi lahko bil zakonitim uporabnikom onemogočiti dostop do vira
- Cross Site Scripting XSS - cilj te grožnje bi lahko bil vbrizgavanje kode, ki se lahko izvede v brskalniku na strani odjemalca.
- Zastrupitev s piškotki / sejo - cilj te grožnje je spremeniti piškotke / podatke seje s strani napadalca, da pridobi nepooblaščen dostop.
- Spreminjanje obrazcev - cilj te grožnje je spremeniti podatke o obrazcih, kot so cene v aplikacijah za e-poslovanje, tako da lahko napadalec dobi predmete po znižanih cenah.
- Vbrizgavanje kode - cilj te grožnje je vbrizgati kodo, kot je PHP, Python itd., Ki se lahko izvede na strežniku. Koda lahko namesti zakulisje, razkrije občutljive podatke itd.
- Pokvarjenost - cilj te grožnje je spremeniti stran, prikazano na spletnem mestu, in preusmeriti vse zahteve strani na eno stran, ki vsebuje sporočilo napadalca.
Kako zaščititi svojo spletno stran pred vdori?
Organizacija lahko sprejme naslednjo politiko, da se zaščiti pred napadi na spletni strežnik.
- SQL Injection - razkuževanje in potrjevanje uporabniških parametrov, preden jih pošljete v zbirko podatkov v obdelavo, lahko pomaga zmanjšati možnosti napada prek SQL Injection. Mehanizmi zbirk podatkov, kot so MS SQL Server, MySQL itd., Podpirajo parametre in pripravljene izjave. So veliko varnejši od tradicionalnih stavkov SQL
- Napadi zavrnitve storitve - požarne zidove lahko uporabite za izpust prometa s sumljivih naslovov IP, če je napad preprost DoS. Pravilna konfiguracija omrežij in sistema za odkrivanje vdorov lahko pomagata tudi zmanjšati možnosti za uspešen napad DoS.
- Cross Site Scripting - preverjanje in razkuževanje glav, parametrov, posredovanih prek URL-ja, parametrov obrazca in skritih vrednosti lahko pomaga zmanjšati napade XSS.
- Zastrupitev s piškotki / sejo - to lahko preprečimo tako, da šifriramo vsebino piškotkov, po določenem času časovno omejimo piškotke in piškotke povežemo z naslovom IP odjemalca, ki je bil uporabljen za njihovo izdelavo.
- Kaljenje obrazca - to je mogoče preprečiti s preverjanjem in preverjanjem uporabniškega vnosa pred obdelavo.
- Vbrizgavanje kode - to lahko preprečimo tako, da vse parametre obravnavamo kot podatke in ne kot izvršljivo kodo. Za to lahko uporabimo sanacijo in validacijo.
- Defacement - dobra varnostna politika razvoja spletnih aplikacij mora zagotoviti, da zapre pogosto uporabljene ranljivosti za dostop do spletnega strežnika. To je lahko pravilna konfiguracija operacijskega sistema, programske opreme spletnega strežnika in najboljše varnostne prakse pri razvoju spletnih aplikacij.
Triki za vdiranje v spletno mesto: Vdirajte spletno mesto v spletu
V tem praktičnem scenariju vdora v spletno stran bomo ugrabili uporabniško sejo spletne aplikacije na naslovu www.techpanda.org. Za branje ID-ja seje piškotkov bomo uporabili skripte med spletnimi mesti, nato pa jih lažno predstavljali kot zakonito uporabniško sejo.
Domnevamo, da ima napadalec dostop do spletne aplikacije in bi rad ugrabil seje drugih uporabnikov, ki uporabljajo isto aplikacijo. Cilj tega napada bi lahko bil pridobiti skrbniški dostop do spletne aplikacije ob predpostavki, da je dostopni račun napadalca omejen.
Kako začeti
- Odprite http://www.techpanda.org/
- Zaradi prakse je zelo priporočljivo, da dostop pridobite s pomočjo SQL Injection. Za več informacij o tem glejte ta članek.
- E- poštni naslov za prijavo je Ta e-poštni naslov je zaščiten proti smetenju. Če ga želite videti, omogočite Javascript., Geslo je Password2010
- Če ste se uspešno prijavili, boste dobili naslednjo nadzorno ploščo
- Kliknite Dodaj nov stik
- Kot ime vnesite naslednje
TUKAJ,
Zgornja koda uporablja JavaScript . Dodaja hiperpovezavo z dogodkom onclick . Ko nič hudega sluteči uporabnik klikne povezavo, dogodek pridobi ID seje piškotka PHP in ga pošlje na stran snatch_sess_id.php skupaj z ID seje v URL-ju
- Vnesite preostale podrobnosti, kot je prikazano spodaj
- Kliknite Shrani spremembe
- Vaša nadzorna plošča bo zdaj videti kot naslednji zaslon
- Ker je koda skripta med spletnimi mesti shranjena v zbirki podatkov, se bo naložila vsakič, ko se bodo uporabniki z dostopnimi pravicami prijavili
- Recimo, da se skrbnik prijavi in klikne na hiperpovezavo z napisom Dark
- Dobil bo okno z ID-jem seje, ki je prikazan v URL-ju
Opomba : skript lahko vrednost pošlje na nek oddaljeni strežnik, kjer je shranjen PHPSESSID, nato pa uporabnik preusmeri nazaj na spletno mesto, kot da se nič ne bi zgodilo.
Opomba : vrednost, ki jo dobite, se lahko razlikuje od vrednosti v tej vadnici za vdiranje v spletne strani, vendar je koncept enak
Lažno predstavljanje seje z dodatkom Firefox in Tamper Data
Spodnji diagram prikazuje korake, ki jih morate izvesti za izvedbo te vaje.
- Za ta razdelek boste potrebovali spletni brskalnik Firefox in dodatek Tamper Data
- Odprite Firefox in namestite dodatek, kot je prikazano na spodnjih diagramih
- Poiščite podatke o posegih in kliknite namestitev, kot je prikazano zgoraj
- Kliknite Sprejmi in namesti ...
- Ko se namestitev konča, kliknite Znova zaženi zdaj
- Omogočite menijsko vrstico v Firefoxu, če ni prikazana
- Kliknite meni orodij in izberite Tamper Data, kot je prikazano spodaj
- Dobili boste naslednje okno. Opomba: Če Windows ni prazen, pritisnite gumb za brisanje
- Kliknite meni Zaženi tamper
- Preklopite nazaj na spletni brskalnik Firefox, vnesite http://www.techpanda.org/dashboard.php in pritisnite tipko enter, da naložite stran
- Prikaže se naslednje pojavno okno Tamper Data
- Pojavno okno ima tri (3) možnosti. Možnost Tamper vam omogoča, da spremenite informacije glave HTTP, preden jih pošljete strežniku .
- Kliknite nanjo
- Dobili boste naslednje okno
- Kopirajte ID seje PHP, ki ste ga kopirali iz URL-ja za napad, in ga prilepite za enačbo. Vaša vrednost bi zdaj morala izgledati tako
PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2
- Kliknite gumb V redu
- Ponovno se prikaže pojavno okno Tamper data
- Počistite potrditveno polje Nadaljuj spreminjanje?
- Ko končate, kliknite gumb za oddajo
- Videli bi morali nadzorno ploščo, kot je prikazano spodaj
Opomba : nismo se prijavili, predstavili smo se s prijavno sejo z uporabo vrednosti PHPSESSID, ki smo jo pridobili z medsebojnim skriptiranjem
Povzetek
- Spletna aplikacija temelji na modelu strežnik-odjemalec. Stranka uporablja spletni brskalnik za dostop do virov na strežniku.
- Spletne aplikacije so običajno dostopne prek interneta. Zaradi tega so ranljivi za napade.
- Grožnje spletnih aplikacij vključujejo SQL Injection, Code Injection, XSS, Defacement, zastrupitev s piškotki itd.
- Dobra varnostna politika pri razvoju spletnih aplikacij lahko pripomore k njihovi varnosti.