Wyzwanie V - wskazówki, część druga
W ramach drugiej części wskazówek do analizy przygotowałem plik z zapisem sesji Fiddlera. Plik został przygotowany z wykorzystaniem narzędzia intruder21 ze zmodyfikowanym w stosunku do domyślnego zestawem reguł. Zestaw reguł zawiera payloady opisane w Jak szukać SQLi - przykład oraz zmodyfikowane reguły wykorzystywane przez skipfish (patrz też: Understanding and using skipfish). Przykłady dotyczą pierwszej, podstawowej wersji zadania dostępnej pod adresem http://bootcamp.threats.pl/lesson25/.
- Plik z zapisem sesji: lesson25.saz,
- Plik konfiguracyjny intruder21: sqli.i21cfg,
Za podstawę do fuzzingu posłużyły dwa żądania bazowe. W sumie wykorzystane były wszystkie możliwe pola po których można prowadzić wyszukiwanie. Żądanie bazowe jest powtarzane przed każdym kolejnym parametrem poddawanym fuzzingowi. Dzięki temu łatwo można porównać rezultaty oryginalnego żądania z odpowiedzią serwera po modyfikacji parametrów.
Tekstem pogrubionym zaznaczone są żądania bazowe. W kolumnie Custom znajduje się hash SHA1 z odpowiedzi serwera. Dodatkowo sesje są pokolorowane w taki sposób, że sesje o tym samym SHA1 mają ten sam kolor.
Zadanie polega na przeanalizowaniu odpowiedzi zwracanych przez serwer dla poszczególnych parametrów, znalezieniu istotnych różnic w odpowiedziach serwera i określeniu na podstawie tych informacji, które parametry i pod jakimi warunkami są prawdopodobnie podatne na sql injection. Ćwiczenie można powtórzyć dla kolejnych dostępnych wersji przykładu.