poniedziałek, 17 grudnia 2007

Krótka refleksja na temet skryptów

Czym jest skrypt? Według Wikipedii: "Język skryptowy to zazwyczaj interpretowany język programowania o różnym przeznaczeniu. Programy napisane w języku skryptowym nazywane są skryptami i przechowywane są zwykle w postaci kodu źródłowego.".

Skrypty są pomocne, ułatwiają życie programistom i webmasterom, przyspieszają automatyzacje pewnych procesów, ułatwiają generowanie szablonów ... trudno chyba wymienić korzyści płynące z ich stosowania.

Skrypty wykonywane przez serwer są zazwyczaj dla klientów niezauważalne, "przeźroczyste"

Warto jednak zwrócić uwagę na potencjalne zagrożenie jakie mogą stanowić skrypty wykonywane po stronie użytkownika(w rozumieniu klienta) - mam tu na myśli przede wszystkim takie języki jak JavaScript, VisualBasicScript czy inne. O ile wyskakujące flash - owe reklamy czy tzw. pop - upy stanowią najmniejsze zagrożenie, co nie zmienia faktu, że są denerwujące, o tyle warto zwrócić uwagę na fakt, że skrypt może wywołać inną aplikację.

Przyjrzyjmy sie skryptowi:

<script type="text/javascript" language="JScript">
var shell = new ActiveXObject("WScript.Shell");
var plik = "C:\\windows\\notepad.exe";
shell.run(plik);
</script>

Efekt jest łatwy do wydedukowania bez jego uruchamiania: skrypt uruchomi notatnik o ile plik notepad.exe znajduje się w katalogu C:\Windows\

A teraz załóżmy następujący scenariusz:
Skrypt zapisuje zawartość plik binarnego wirusa do pliku z wykonywalnym rozszerzeniem na naszym dysku, a następny wykonuje shell.run(plik) dla tego pliku wirusa.

Jak zapobiegać takim sytuacjom?

1) Korzystać z bezpiecznych przeglądarek internetowych, takich jak: Firefox czy Opera;
2) Doinstalować plug-in do blokowania skryptów(ja używam NoScript);
3) Zezwalać na wykonywanie skryptów tylko dla zaufanych witryn: np. banków, sklepów internetowych itp.

Brak komentarzy: