threats.pl > Bezpieczeństwo aplikacji internetowych > FiddlerExtensions

FiddlerExtensions

Rozszerzenia FiddlerExtensions dodają do narzędzia Fiddler kilka dodatkowych funkcji, które uważam za pomocne. Dodatkowe funkcje działają, korzystam z nich, ale najlepiej opisuje je stwierdzenie quick&dirty, o czym lojalnie uprzedzam. Ich opis znajduje się w dalszej części tekstu.

Instalacja

Instalacja rozszerzeń polega na skopiowaniu pliku FiddlerExtensions.dll do katalogu \My Documents\Fiddler2\Scripts (lub innego właściwego dla wersji językowej systemu operacyjnego).

Dodatkowo należy zainstalować:

UWAGA: w przypadku ssdeep należy skopiować plik fuzzy.dll do tego katalogu, w którym znajduje się plik FiddlerExtensions.dll.

Funkcje

W skład rozszerzeń wchodzi:

Replay and break

Opcja ta pozwala ponownie wysłać wybraną sesję i zatrzymać ją do edycji przed przesłaniem do serwera. Nie musi być włączone przechwytywanie wszystkich sesji. Jest to wygodne w przypadku aplikacji, które automatycznie generują okresowo żądania (np. korzystających intensywnie z AJAX)

Porównywanie sesji

Porównywanie sesji przy pomocy WinMerge oraz ssdeep dostępne jest z poziomu menu kontekstowego dla sesji:

W przypadku porównywania sesji z wykorzystaniem WinMerge na liście sesji należy zaznaczyć co najmniej dwie sesje. W przypadku, gdy zostanie zaznaczonych więcej niż dwie sesje, jako podstawowa zostanie wykorzystana sesja pierwsza i wszystkie pozostałe sesje zostaną porównane z nią.

W przypadku porównywania sesji z wykorzystaniem ssdeep na liście sesji należy zaznaczyć jedną sesję, która zostanie wykorzystana jako sesja bazowa, z którą porównane zostaną wszystkie pozostałe sesje. W przypadku, gdy zostanie zaznaczona więcej niż jedna sesja, pierwsza zaznaczona sesja na liście zostanie wykorzystana jako sesja bazowa i z nią zostaną porównane pozostałe zaznaczone sesje.

Rezultat porównania jest prezentowany w kolumnie Custom jako liczba z przedziału 0 - 100 gdzie 0 oznacza bardzo podobne pliki, natomiast 100 pliki bardzo niepodobne. Sesja wykorzystana jako sesja bazowa zostaje pogrubiona.

Poniższy screen pokazuje rezultat porównania sesji bazowej z pozostałymi zaznaczonymi sesjami:

UWAGA: dla danych o niewielkim rozmiarze ssdeep nie zachowuje się zbyt dobrze. W szczególności sesja bazowa może zostać uznana za niepodobną sama do siebie.

Akcje QuickExec

ssdeep

Akcja ssdeep powoduje wyliczenie fuzzy hash. Rezultat jest zapisany w fladze ssdeep. Akcja ta wykonuje się automatycznie przy porównywaniu sesji z wykorzystaniem ssdeep jeśli sesja wybrana jako bazowa nie posiada ustawionej tej flagi.

sha1

Akcja sha1 powoduje wyliczenie hasha SHA1 z odpowiedzi serwera (session body). Rezultat jest zapisany w fladze sha1.

cc

Akcja cc pozwala skopiować wartość dowolnej flagi do flagi ui-customcolumn. Zawartość flagi ui-customcolumn jest wyświetlana w kolumnie Custom w GUI. Przykład skopiowania flagi ssdeep:

cc ssdeep

Rezultat widoczny w GUI:

Zobacz też: Configuring Columns.

clear

Akcja clear pozwala usunąć dowolną flagę z wszystkich sesji. Przykład:

clear ui-backcolor

Zapoznaj się też z opisem podstawowych flag: Fiddler SessionFlags.

colorize

Akcja colorize powoduje ustawienie koloru tła zależnego od zawartości flagi ui-customcolumn. Sesje o tej samej wartości kolumny są oznaczane tym samym kolorem. Poniżej przykład działania komendy akcji:

UWAGA: ilość wykorzystywanych kolorów jest ograniczona, więc ten sam kolor może zostać użyty do oznaczenia różnych wartości ui-customcolumn.

dumpurls

Akcja dumpurls powoduje skopiowanie wszystkich wyświetlanych URLi do schowka w następującym formacie:

URLS = ({"url": "http://bootcamp.threats.pl/lesson02/index.php?id=2", "data": None},
{"url": "http://bootcamp.threats.pl/lesson02/index.php", "data": "id=3"})

W zamyśle taki kod przeznaczony jest do wstawienia do skryptu w języku Python w celu dalszego przetwarzania, na przykład w celu fuzzingu zebranych URLi.

ac

Akcja ac ma na celu wspomaganie testowania kontroli dostępu. Pozwala ona na:

Dostępne w ramach akcji komendy: