Web hacking

Из Википедије, слободне енциклопедије
Info non-talk.svg Овом чланку или једном његовом делу је потребно прерађивање.


Чланак је означен овим шаблоном 17.01.2012. и налази се у категорији Рачунарство и информатика‎.
Погледајте како се мења страница или страницу за разговор за помоћ. Уклоните ову поруку када завршите.

Emblem-important-yellow.svg Ова страница би требало да спада у једну или више категорија.
Молимо вас да је категоришете како би могла да се повеже са сличним страницама.
Уклоните ову поруку након категоризације странице.


Uvod[уреди]

Internet aplikacije danas, za mnoge firme i državne ustanove, igraju ključnu ulogu u obavljanju svakodnevnih poslova i uvećanju profita, što kroz povećanu efikasnost poslovanja ili pak u svrhu marketinga . Svakako, raznovrsnost usluga koje Internet aplikacije mogu vršiti najviše zavisi od afiniteta korisnika. Tako te aplikacije mogu biti klasične Internet prezentacije, ili pak složeni Web servisi za pružanje kompleksnog seta usluga zaposlenima i klijentima. Greške pri projektovanju i nizak nivo svesti inženjera o bezbednosnim rizicima, mogu dovesti do stvaranja štete čija se veličina može meriti od poljuljanog ugleda firme (ako je meta, na primer, firma koja pruža konsultantske usluge iz oblasti IT-a), pa sve do velikih finansijskih gubitaka (ako je oštećena, na primer, neka banka). Sve tehnike napada su podeljene u klase i kada napadač identifikuje određeni bezbednosni propust, za napad koristi one tehnike koje mogu dati najbolje rezultate u konkretnom slučaju. Upravo će ove klase i tehnike ovde biti objašnjene, ali i prikazane u praksi.

Osnovne web haking tehnike[уреди]

Metod grube sile[уреди]

Metod grube sile se zasniva na automatizovanim porocesima koji ispituju sve moguće kombinacije korisničkog imena i lozinke korisnika, broja bankovne kartice ili ključa za enkripciju. Odnosno scenario ove tehnike zasniva se na korišćenju posebnog programa koji generiše sve moguće kombinacije lozinke za logovanje na odgovarajuću Internet stranicu. Pri tome web aplikacija generiše veliki broj grešaka pri unosu, a taj broj je srazmeran broju upita da eventualnog pronalaska tačne lozinke. U trenutku kada se pronađe ispravna lozinka, smatra se da je napad uspešn i tada je napadač u mogućnosti da pristupi sistemu.

Nedovoljna autentifikacija[уреди]

Termin nedovoljna autentifikacija označava mogućnost napadača da pristupi osetljivom sadržaju web aplikacije, bez potrebe da se prethodno prijavi na sistem. Web-bazirani alati za administraciju su dobar primer web aplikacija koje daju pristup funkcionalnostima koje ne smeju biti javno dostupne. U zavisnosti od resursa kome se pristupa, neophodno je pravilno podesiti prava pristupa tako da odgovaraju nadležnostima osobe ili grupe koja mu pristupa, što uključuje autentifikaciju prijavom na sistem. U cilju zaobilaženja procesa autentifikacije, neki od resursa mogu biti zaštićeni skrivanjem njihove lokacije i nepostojanjem linkova ka resursu iz same aplikacije. Važno je naglasiti da to što je adresa resursa nepoznata, odnosno skrivena od napadača, ne znači da joj nije moguće pristupiti direktno preko URL adrese. Tačna adresa se može otkriti korišćenjem metode grube sile, zatim predviđanjem lokacija (/administrator, /admin, /install...), izazivanjem grešaka koje će prikazati poruku, ili pak preko pretraživača, kao što je npr. Google.

Povraćaj lozinke[уреди]

Skoro sve Web aplikacije sadrže funkcionalnost za povraćaj lozinke korisniku (ukoliko korisnik zaboravi lozinku), i to je dobar način za upravljanje aplikacijama koje sadrže veliki broj korisnika, jer automatizuju posao koji bi morao da radi administrator. Pri čemu neke aplikacije imaju metod autentifikacije koje traže od korisnika da izaberu neko od pitanja i upišu odgovor. Upis tačnog odgovora na dato pitanje dovešće do mogućnosti da korisnik unese novu lozinku ili da upiše adresu elektronske pošte na koju će ona biti poslana. Međum razvojom socijalnih mreža (Facebook, MySpace,Twitter…) moguće je lako pribaviti odgovore na ta pitanja ,kao na primer broj fiksnog telefona (uz pomoć sajta „Bele strane“), ime prve devojke/dečka, omiljenog učitelja/učiteljice i slično.

Otimanje sesije[уреди]

Otimanje sesije je tehnika otimanja prava pristupa i oponašanja korisnika aplikacije. Svrha napada je utvrđivanje ili pogađanje jedinstvene vrednosti koja označava određenu sesiju ili korisnika, što napadaču može omogućiti da web aplikaciji pristupi sa privilegijama koje ima žrtva napada. Web aplikacije se projektuju sa ciljem da autentifikuju i zatim prate aktivnosti korisnika. Nakon što korisnik unese svoje korisničko ime i lozinku za pristup aplikaciji i aplikacija ih prihvati kao ispravne, za sve dalje aktivnosti one se više ne prenose kroz mrežu, već se generiše jedinstvena oznaka za tu sesiju. Sada se umesto kombinacije korisničkog imena i lozinke u daljoj komunikaciji za potvrđivanje prava pristupa koristi ovaj generisani niz karaktera koji je dokaz da je sesija autentifikovana. Ukoliko je napadač u stanju da predvidi ili preotme ID sesije, moguće je izvršiti napad na aplikaciju do nivoa pristupa koje žrtva poseduje.

Web haking tehnike na osnovu propusta u sigurnosti baze podataka[уреди]

XPath ubizgavanje[уреди]

XPath ubrizgavanje je tehnika napada koja se koristi za eksploataciju web aplikacija koje generišu XPath upite korišćenjem podataka dobijenih od korisnika. XPath 1.0 je jezik koji je povezan sa XML dokumentima. Može biti korišćen direktno od strane aplikacije za upit u XML dokument, ili kao deo neke kompleksnije operacije, kao što je primena XSLT transformacija na XML dokumentu ili primena XQuery upita na XML dokument. Sintaksa XPath ima sličnosti sa SQL upitima, i moguće je formirati upite na XML dokumente koji izgledaju slično SQL upitima. Na primer, pretpostavimo da je XML dokument koji sadrži elemente o korisnicima pod nazivom "user" i svaki od njih sadrži tri podelementa – name, password i account. Sledeći XPath upit daće broj naloga korisnika čije je ime "marko" i čija je lozinka "test" (ili prazan niz karaktera, ako taj korisnik ne postoji):

  string(//user[name/text()='marko' and password/text()='test']/account/text())

Ako aplikacija generiše Xpath upite tokom svog izvršavanja, korišćenjem neproverenih podataka unetih od strane korisnika, napadač će biti u stanju da umetne podatke u upit tako da će novoformirani upit biti izvršen na način koji se razlikuje od onog koji je programer planirao.

Napad ubrizgavanjem SQL koda[уреди]

Pojam ranjive WEB aplikacije i primer napada[уреди]

SQL ubrizgavanje koda je jedna od tehnika napada na bazu podataka koju koristi WEB aplikacija. U zavisnosti od uspeha napada posledice mogu biti ogromne, počev od ugrožavanja privatnosti podataka pa sve do brisanja baze podataka. Meta ovakvih napada su WEB aplikacije koje generisu upite u zavisnosti od podataka koje unose korisnici. Naime propust programera kod mnogih ovakvih aplikacija je u tome što ne programiraju filtriranje podataka koji se unose preko tekstualnih formi, URL-a ili kolačića. Kao što je gore već rečeno, SQL upiti se formiraju na osnovu podataka koje unose korisnici. Poznavanjem sintakse SQL jezika i nekih trikova može se manipulisati bazom podataka ukoliko se podaci ne filtriraju. Sledi primer forme preko koje se može izvršiti ovakav napad.

Reference[уреди]