|
|
|
|
|
|||
6. Register Globals i XXS napadiJedan od najčešćih vidova napada na savremene Web aplikacije kao što je Moodle su takozvani XXS napadi (Cross-site scripting). Reč je o tehnici koja je zasnovana na umetanju JavaScrit koda u različite submit forme koje bivaju prenešene do baze metodom POST u određenu kolonu tabele… Ukratko, korist primene ovakvih metoda po onoga ko vrši napad su usmerene u izvršavanju određenog koda Java skripte čime se menja SQL iskaz, a time i probija sistem autentifikacije ili drugih mehanizama implementiranih u svojstvu zaštite aplikacije ili podataka … Jedan od tipičnih primera XSS napada kojima su podložnije starije verzije moodle sistema su se odnosile na umetanje JavaScrpt-e u sektoru personalnih blogova (‘/blog/edit.php’) sa zlonamernim unosom naslova (‘etitle’ parametrom), kojim je moguće uneti JavaScript i HTML kod unutar aplikacije. Izvršavanje koda ima za rezultat da prosledi informacije o aktivnim sesijama korisnika / administratora. U nastavku, biće predstavljen prototip JavaScript koda. Ovaj kod prosleđuje kolačiće bilo kog korisnika ko pristupi blog sekciji na adresu udaljenog (third-party) Web sajta – videti sliku xx.
Slika 11. Prosleđivanje ukradene sesije na third-party sajt Nasuprot ovom modelu postoje i drugi vidovi napada koji podrazumevaju prisluškivanje klijenstke strane. U ovakvom modelu klijentu se šalju linkovi najčešće putem mail-a. Kada klijent klikne na link nakon učitavanja stanice, skripta će takođe obaviti preuzimanje vrednosti unutar sesije. Prototip je dat u nastavku, videti sliku xx.
Slika 12. Prisluškivanje sesije 6.1. Dodatni mehanizmi zaštiteJedan od primarnih mehanizama zaštite koje prepuručen od velikog broja uticajnih stručnaka u oblasti Web programiranja upućuje na deaktivaciju direktive register_globals. Još jedna potvrda ovoj tvrdnji se odnosi na samu arhitekturu novije verzije Moodle sistema za e-učenje kod kojih je težište aplikativne logike zasnovano na primeni superglobalnih nizova $_POST, i $_GET, koji se mogu smatrati približno komotnim za rad kao i oslanjanje na register_globals stim što su superglobalni nizovi znatno sigurniji. Podešavanje direktive treba podesiti na: register_globals = off
|
|
||
|
|
|
|
|
|||