Abstract | Tema završnog rada je sigurnost web-stranica. Obrađuju se česti napadi na web-stranice i vrste zaštita. Na web-stranicama najčešće se koriste napadi ubacivanjem SQL koda (engl. SQL Injection). Navedeni napadi ostvaruju se na sloju baze podataka, a mogući su zbog nedovoljnog provjeravanja korisničkih ulaznih podataka te samog sustava. Postoji nekoliko bitnih napada ubacivanjem SQl koda. To su zaobilaženje prijave: napadač zaobilazi standardnu prijavu usernamea i passworda (korisničkog imena i lozinke), prikupljanje informacija o bazi podataka: dobivanje informacija o stukturi i vrsti baze za daljnje napade, otkrivanje podataka iz baze: uzimanje tuđih informacija koje su spremljene u bazi, dodavanje i izmjena podataka: izmjenjivanje postojećih ili dodavanje vlastitih informacija, DoS napad (engl. Denial of Service): rušenje cijele baze podataka ili onemogućavanje daljnjeg rada ostalim korisnicima, udaljeno izvođenje naredbi: izvođenje proizvoljnih naredbi u bazi podataka, a to su obično unaprijed spremljeni postupci koji su dostupni nekim korisnicima, te povećanje prava: dobivanje administratorskih prava za lakše izvođenje daljnjih napada. Nakon toga dolazi se do metoda zaštite od napada ubacivanjem SQL koda. Uz promjene u kodu, mogu se izbjeći neželjeni napadi. Naravno, ni jedna web-stranica nije 100 % sigurna, tako neki iskusniji, uporniji napadač unatoč zaštiti može izvesti napad. Zaštite koje se spominju u radu su sljedeće: baza podataka - napadaču je potrebno neko predznanje o bazi da bi izveo napad, zato korištenje netipičnih imena tablica i atributa otežava napad. Polja za unos: pretpostavlja se da korisničko ime ima svoju duljinu te da ne može biti duže od 40 znakova. Ograničavanjem broja znakova sprječava se iskorištavanje polja za unos SQL koda. Provjera podataka: kontinuirano provjeravanje svih podataka koje korisnik unosi. Poslužitelj: programu koji on koristi, dodijeliti minimalna prava, tek toliko da može normalno obavljati svoj rad. Programska podrška: postoje brojni programi koji pomažu vlasniku web-stranice u otkrivanju ranjivosti na SQL oblik napada, pa čak i neke druge. Nakon obrade primjera SQL napada, odrađen je praktični dio. Dakle, odrađeni su neki primjeri tih napada koji ne prelaze legalnu granicu, te su odrađeni na odabranoj web-stranici. Korišten je XAMPP web-server te DVWA (engl. Damn Vulnerable Web Application) stranica. |