threats.pl > Bezpieczeństwo aplikacji internetowych > Lekcja 18: Więcej niż jedna ścieżka wykonania

Lekcja 18: Więcej niż jedna ścieżka wykonania

Wprowadzenie

Pod adresem http://bootcamp.threats.pl/lesson18/ znajduje się przykład prostej formatki wyszukiwania. Użytkownik ma możliwość określenia maksymalnie trzech parametrów, które będą uwzględnione w trakcie wyszukiwania. Przykład ten należy również potraktować jako wyzwanie.

Przedmiotem wyzwania jest:

Głównym celem tego przykładu jest pokazanie, że ścieżka wykonania kodu może się różnić w zależności od wybranych parametrów. Dodatkowe wskazówki można znaleźć we wpisach na blogu:

Na tego typu przypadki, w których podatność występuje jedynie w jednej ścieżce wykonania kodu można natknąć się podczas testowania bezpieczeństwa aplikacji, nie jest to więc przykład, który nie ma związku ze stanem faktycznym. Szczególnie ciężkie do wykrycia są przypadki, gdy podatności występują w starym/nieużywanym kodzie. Dostęp do tego typu ścieżek wykonania jest jednak czasem możliwy poprzez określenie właściwej kombinacji parametrów. Właściwa kombinacja parametrów może być znaleziona na przykład poprzez użycie fuzzingu. W tym przykładzie podatność występuje tylko w jednej ścieżce wykonania, ale ścieżka ta jest osiągalna normalnie, nie znajduje się w legacy code.

Dostępna jest również druga wersja tego przykładu, która podatność zawiera w nieco innej ścieżce wykonania. Jest ona dostępna pod adresem: http://bootcamp.threats.pl/lesson18a/.

Powodzenia!