SEMINARSKI  RAD

Tema: RAZVOJ DINAMIČKIH WEB APLIKACIJA

Predmet: RAZVOJ WEB APLIKACIJA I WEB DIZAJN

Mentor:                                                               Student:

Prof.dr Borivoje Milošević                           Božić Davor И-35/2021

Beograd, 2024

 RAZVOJ WEB APLIKACIJA

DAVOR BOŽIĆ, И-35/2021

2

Sadržaj

1.

Uvod...........................................................................................................................................1

1.1. Koncept Web aplikacije.........................................................................................................1
1.2. Aplikacije slobodnog koda i vlasničke aplikacije.................................................................2
1.3. Terminologija........................................................................................................................2

2.

Klase napada...............................................................................................................................2

2.1. Autentifikacija.......................................................................................................................2

2.1.1.

Nedovoljna autentifikacija..........................................................................................4

2.1.2.

Povraćaj lozinke......................................................................................................... 5

2.2. Autorizacija........................................................................................................................... 6

2.2.1.

Otimanje sesije........................................................................................................... 6

2.2.2.

Nedovoljna autorizacija.............................................................................................. 7

2.2.3.

Nepravilno rukovanje sesijama..................................................................................8

2.2.4.

Fiksiranje sesije.......................................................................................................... 9

2.3. Napadi na korisnika aplikacije............................................................................................10

2.3.1.

Obmanjujući sadržaj................................................................................................. 11

2.3.2.

Cross-site Scripting...................................................................................................12

2.4. Izvršavanje komandi............................................................................................................14

2.4.1.

Prekoračenje bafera.................................................................................................. 14

2.4.2.

Oblikovanje niza karaktera....................................................................................... 14

2.4.3.

LDAP ubrizgavanje..................................................................................................15

2.4.4.

Izdavanje naredbi operativnom sistemu...................................................................17

2.4.5.

Ubrizgavanje SQL koda........................................................................................... 18

2.4.6.

XPath ubrizgavanje...................................................................................................21

2.5. Otkrivanje informacija.........................................................................................................22

2.5.1.

Indeksiranje direktorijuma........................................................................................23

2.5.2.

Curenje informacija..................................................................................................24

2.5.3.

Dosezanje lokacija (Path Traversal )........................................................................27

2.5.4.

Predvidljive lokacije resursa.....................................................................................28

3.

ZAKLJUČAK...........................................................................................................................30

4.

LITERATURA......................................................................................................................... 31

background image

 RAZVOJ WEB APLIKACIJA

DAVOR BOŽIĆ, И-35/2021

2

1.2.

Aplikacije slobodnog koda i vlasničke aplikacije

Pojam 

slobodni kod

 predstavlja projektovanje, razvoj i distribuciju softvera, čineći pri tom 

izvorni kod softvera javno dostupnim. Svoju veliku popularnost ova filozofija razvoja softvera 
dobila je širenjem Interneta. Internet je omogućio stvaranje zajednica programera iz cijelog 
svijeta,   koji   rade   na   kreiranju   novih   rješenja   i   poboljšanju   postojećih.   Glavne   prednosti 
korišćenja softvera slobodnog koda su: pouzdanost, stabilnost, transparentnost rada, cijena, 
fleksibilnost i sloboda pri korišćenju.

Sa druge strane, postoji i vlasnički softver čiji izvorni kod nije moguće dobiti na uvid, a metode 

reverznog inženjeringa nad tim softverom predstavljaju krivično djelo. Istraživanje sprovedeno 
2007. godine od strane firme 

Barracuda Networks

 (www.barracudanetworks.com), pokazalo je 

da   se   korisnici   odlučuju   za   kupovinu   i   korišćenje   vlasničkog   softvera   mahom   zbog 
profesionalnih usluga proizvođača (65%) i lakoći adaptacije softvera potrebama naručioca 
(47%). Takođe, vlasnički softver i nemogućnost pregleda izvornog koda ne znači i veću 
otpornost na napade.Treba imati u vidu da softver slobodnog koda ne mora nužno biti i 
besplatan za korišćenje, isto kao što se ni vlasnički softver ne mora uvek naplaćivati. Neke od 
najpoplarnijih Web aplikacija koje su dostupne danas su: Joomla, Drupal, Wikimedia, Moodle, 
eGroupware (besplatne); vBulletin, MODx, IP.Board (komercijalne).

1.3.

Terminologija

U zadnjih nekoliko godina, kompanije koje se bave bezbjednošću na Internetu, usvojile su 

mnogo   novih   termina   za   opis   metoda   napada.   Još   uvek   ne   postoji   dokumentovan, 
standardizovan i cjelovit izvor koji definiše pojmove koji se koriste za opis tehnika napada. S 
toga će sadržaj ovog rada biti baziran na informacijama pribavljenim iz različitih dokumenata 
kompanija za Internet bezbjednost i specijalizovanih foruma, ali i iz mnogih tutorijala pisanih 
od strane anonimnih osoba sa kriptičnim nadimcima. Biće prevedeni svi pojmovi za koje je 
moguće naći adekvatan prevod na srpskom jeziku, s tim da će ponegde, zbog reference i lakšeg 
razumjevanja, biti navedeni i njihovi nazivi na engleskom jeziku.

2.

Klase napada

2.1.

Autentifikacija

U   ovom   poglavlju   biće   obrađeni   napadi   čiji   su   cilj   autentifikacija   korisnika,   usluga   ili 

aplikacija. Autentifikacija je proces u okviru koga korisnik ili izvor informacija dokazuju da su 
to za šta se predstavljaju. Drugim riječima, autentifikacija je proces utvrđivanja identiteta 
korisnika koji pokušava da pristupi sistemu

 RAZVOJ WEB APLIKACIJA

DAVOR BOŽIĆ, И-35/2021

3

Metode grube sile (Brute Force ) 

Napadi izvedeni upotrebom metode grube sile su automatizovani procesi koji ispituju sve 
moguće kombinacije korisničkog imena i/ili lozinke korisnika, broja bankovne kartice ili ključa 
za enkripciju. Veliki broj web aplikacija prilikom registracije dozvoljava upotrebu prostih 
lozinki, a korisnici će to najčešće iskoristiti da postave neku jednostavnu koja se može lako 
pogoditi ili naći u rečniku. Izraz 

"prosta" lozinka

 označava lozinku koja se sastoji od manje od 

8 karaktera i/ili koja sadrži samo slovne ili samo 
brojčane   znakove.   Ovde   spomenuti  

"rečnik" 

označava,   najčešće   tekstualnu,   datoteku 
sastavljenu od strane pojedinaca i grupa koji su i 
izvršioci napada. Ova datoteka sadrži veliki broj 
najčešće   korišćenih   reči,   a   na   Internetu   se 
detaljnom   pretragom   mogu   pronaći   rečnici 
veličine i do 1 GB.

Scenario ove tehnike napada se ogleda u tome da 

napadač, korišćenjem posebnog programa, 

koristi dati rečnik za ispitivanje lozinki 

Slika 2.1: 

Formular pogodan za korišćenje metode 

direktnim upitom na željenu Internet stranicu. 

grube 

sile

Pri tom, web aplikacija generiše veliki broj grešaka pri unosu, a taj broj je srazmeran broju upita 

do eventualnog pronalaska tačne lozinke. U trenutku kada se pronađe ispravna lozinka, smatra 
se da je napad izvršen uspešno i tada je napadač u mogućnosti da pristupi sistemu.

Metoda grube sile, osim rečnika može koristiti i generatore svih mogućih kombinacija znakova 

(slovnih, brojčanih i specijalnih). Ovi generatori su obično napisani u nekom programskom 
jeziku i mogu da šalju upite za sve moguće kombinacije karaktera koje postoje. Kako je broj 
slovnih   znakova   u   engleskom   alfabetu   26,   brojčanih   10,   i   specijalnih   znakova   32,   za 
kombinovanje svakog pojedinačnog znaka sa drugim je, na današnjim kućnim računarima, 
potrebno na stotine godina. A ako se uzme u obzir i vreme potrebno za prenos bitova kroz 
mrežu i vreme potrebno serveru da proveri ispravnost lozinke, efikasnost ove tehnike se 
višestruko smanjuje. Ovaj način napada je češće u upotrebi na lokalnim računarima pri, na 
primer, traženju lozinke za zaštićene kompresovane datoteke (zip, rar i dr.).

Generalno, možemo razlikovati dva tipa napada metodom grube sile: normalni tip i reverzni tip.
Normalni tip napada ovom metodom koristi jedno korisničko ime uz veliki broj različitih 

lozinki. Reverzni, očekivano, koristi mnogo različitih korisničkih imena uz jednu lozinku. U 
web aplikacijama koje imaju milione korisničkih naloga, verovatnoća da različiti korisnici 
imaju iste lozinke se višestruko uvećava. Ipak, metode grube sile mogu zahtevati sate, dane ili 
godine kako bi dale rezultate, bez obzira da li se koristi normalni ili reverzni tip, ili se obavljaju 
korišćenjem rečnika ili generatora.

Primjer

background image

 RAZVOJ WEB APLIKACIJA

DAVOR BOŽIĆ, И-35/2021

5

mogućnost   da   ove   lokacije   nisu   čak   ni   zaštićene   metodom   autentifikacije,   pa   je   pristup 
napadaču znatno olakšan.

2.1.2. Povraćaj lozinke

Web aplikacija može sadržati funkcionalnost za povraćaj lozinke postojećih korisnika i to je 

dobar način za upravljanje aplikacijama koje sadrže veliki broj korisnika, jer automatizuju i 
ubrzavaju posao koji bi inače morao da obavlja administrator. Neke aplikacije imaju metode 
autentifikacije koje od korisnika traže da izabere neko pitanje i upiše odgovor. Svrha ovog 
sistema je ta što se odgovor može iskoristiti ukoliko korisnik zaboravi svoju lozinku. Upis 
tačnog odgovora na dato pitanje, dovešće do mogućnosti da se unese nova lozinka ili upiše 
adresa elektronske pošte na koju će ona biti poslata.

Slika 2.3: Primer rada Google sistema za povraćaj lozinke

Drugi način koji može olakšati napadaču da pogodi lozinku, jeste i postojanje jedne ili više 

riječi koje daju nagoveštaj (hint, engl.) korisniku ukoliko ne može da pogodi lozinku, a koje je 
korisnik sam zadao prilikom registracije na sistem. U zavisnosti od kompleksnosti nagoveštaja, 
napadač može sa manje ili više truda doći do tačne lozinke. Ovde svakako može doći do 
izražaja i socijalni inženjering, o kome će više reči biti kasnije.

Smatra se da web aplikacija ima loš sistem za povraćaj lozinke ukoliko je napadač u stanju da 

zloupotrebi ovaj mehanizam. To se, kao što je već rečeno, moguće u slučaju da je odgovor na 
bezbednosno pitanje predvidljiv ili je dati nagoveštaj očigledan. Uticaj svakako ima i sam 
sistem koji, u cilju zaštite, može zahtijevati unos karaktera sa slike (zaštita od programa koji 
koriste metode grube sile) ili slati novu lozinku isključivo na adresu e-pošte datu pri registraciji.

Primjer

Neke aplikacije traže od korisnika da pri registraciji unesu svoju adresu e-pošte, kućnu adresu i 

broj telefona. Do svih ovih informacija se može lako doći korišćenjem metoda socijalnog 
inženjeringa ( npr. adresara, poput onog na adresi www.belestrane.988info.rs) ili korišćenjem 
metode pecanja.

Što se tiče napada na aplikacije koje daju nagoveštaj lozinke, može se iskoristiti metoda grube 

sile. 

Želiš da pročitaš svih 33 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti