6.  Register Globals i XXS napadi

Jedan 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štite

Jedan 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