Fuzzing ukrytych pól formularzy

2011-01-13 11:49

Ostatnio mieliśmy ciekawy przypadek aplikacji webowej, która miała więcej pól ukrytych (hidden) niż widocznych. Z perspektywy testów penetracyjnych w ujęciu black-box stanowi to pewne wyzwanie, zwłaszcza gdy nazwy pól są generowane dynamicznie lub są statyczne, ale ich nazwy nie mają sensownego znaczenia. Jeszcze więcej problemów nastręcza przypadek gdy nie tylko nazwy pól nic nie mówią ale i wartości przez nie przekazywane nie są w żadnym znanym formacie lub kodowaniu.

Taki przypadek jest doskonałym przykładem kiedy efektywne zarządzanie ryzykiem wymaga czegoś więcej niż testów black-box: przeglądu audytu kodu źródłowego. Celowo używam pojęcia „przeglądu” gdyż pełny audyt kodu źródłowego nie zawsze jest najlepszym narzędziem na każdym etapie cyklu życia aplikacji.

Natomiast przegląd kodu w zupełności wystarczy do ustalenia jaki format przyjmują dane i jak są kodowane. Ustalenie tego jest niezwykle istotne dla kompleksowych testów penetracyjnych gdyż pozwala efektywnie wykorzystać fuzzing do szybkiej identyfikacji podatności. Wstrzeliwanie standardowych konstrukcji używanych np. przy Blind SQL Injection i brak rezultatu w takim przypadku wcale nie jest dowodem na to, że aplikacja jest odporna na ataki oparte o błędy w walidacji danych. Może to być co najwyżej dowód na to, że aplikacja nie przyjmuje w określonym polu danych w formacie ASCII czy UTF-8. Jest jednak klasa błędów, która może częściowo przyjść z pomocą testerom w takich przypadkach. Tą klasą jest błędna obsługa sytuacji stresowych. Wszystkie informacje takie jak zrzut stosu, kod błędu itp. mogą się przydać do właściwego wymodelowania protokołu który będzie testowany za pomocą fuzzera. Nadal jednak może to być proces kosztowny i bardzo niedokładny, czego efektem będzie dostarczenie błędnych wyników testów. Dlatego podpisując umowę z dostawcą aplikacji warto zawrzeć sobie prawo wglądu w kod źródłowy nawet jeśli planujemy realizację „tylko” testów penetracyjnych.

Blog

MS SQL Server 2005 Extended Support kończy się 12 kwietnia

Rozszerzone wsparcie dla serwera Microsoft SQL Server 2005 kończy się 12 kwietnia. To ostatni moment aby dokonać migracji do wyższej wersji.

Jeśli tego nie zrobiłeś to AVET INS może wesprzeć ...

2016-03-01 09:00, Czytaj więcej Więcej
Kiedy Flash wyginie?

Flash to jedna z tych technologii, która ma bardzo złą – i w tym wypadku całkowicie zasłużenie – reputację w obszarze bezpieczeństwa. Ta reputacja jest tak zła, że od jakiegoś czasu część ...

2016-02-11 16:45, Czytaj więcej Więcej
Krytyczna podatność w kliencie OpenSSH (CVE-2016-0777, CVE-2016-0778)

Wersje oprogramowania klienckiego OpenSSH w wersjach od 5.4 do 7.1 podatne są na atak umożliwiający wyciek pamięci oraz kradzież kluczy prywatnych. W przypadku, gdy połączenie SSH zostanie przerwane ...

2016-02-01 09:30, Czytaj więcej Więcej
Microsoft ogranicza wsparcie IE tylko do wersji 11

Microsoft przestaje wspierać starsze wersje przeglądarki Internet Explorer. Jedyną wspieraną wersją od dzisiaj jest IE 11 i wyższe. Dla wielu systemów (np. Windows 7) może to oznaczać potrzebę aktualizacji lub ...

2016-01-13 09:00, Czytaj więcej Więcej
SafeNet Day: Szyfrowanie w chmurze - prezentacja

Prezentacja Aleksandra Czarnowskiego z konferencji SafeNet Day na temat Szyfrowanie w chmurze jest już dostępna do pobrania. Zapraszamy do pobrania poniżej:

http://www.avet.com.pl/media/pdf/2015-11-02_Szyfrowanie_w_chmurze.pdf

2015-10-31 10:00, Czytaj więcej Więcej