SafeGroup
Wapiti - skaner podatności aplikacji internetowych - Wersja do druku

+- SafeGroup (https://safegroup.pl)
+-- Dział: Publikacje (https://safegroup.pl/forum-27.html)
+--- Dział: Artykuły (https://safegroup.pl/forum-24.html)
+--- Wątek: Wapiti - skaner podatności aplikacji internetowych (/thread-2905.html)



Wapiti - skaner podatności aplikacji internetowych - andrzej76 - 13.11.2011

"Wapiti działa na zasadzie fuzzera. Sam fuzzing jest metodą testowania aplikacji i przebiega w sposób zautomatyzowany. Polega na przekazywaniu losowych danych i sprawdzaniu jaki będzie wynik tego działania. Rezultatem może być wyłączenie aplikacji, błąd serwera lub brak obsługi wyjątku. Wapiti testuje aplikacje metodą "black-box", czyli nie zna kodu źródłowego i logiki działania. Widzi tylko dane wejściowe, transfer i rezultat. W związku z tym potrafi testować aplikacje bez względu na język w jakim zostały napisane. Działanie Wapiti odbywa się w trzech krokach:
przeskanowanie struktury całej aplikacji i zebranie miejsc gdzie można wstawić dane - formularze, zmienne metody GET, skrypty
wstawienie danych, które mogą spowodować błąd; najczęściej dane są pobierane z tzw. bazy payloadów, czyli zbioru danych mogących spowodować niepożądane efekty, sprawdzenie wystąpienia ewentualnych błędów i ich zaraportowanie
Wapiti w wersji (2.2.1) potrafi wykryć File Handling Errors, Database Injections, XSS Injection, LDAP Injections, OS Injection i CRLF Injections.
Omawiana aplikacja powstała w ramach hiszpańskiego projektu Romulus stawiającego sobie za cel poprawę jakości i niezawodności rozwoju aplikacji internetowych. Wapiti zostało napisane w języku Python, który bardzo dobrze nadaje się do analizy tekstów. W związku z tym jest to aplikacja wieloplatformowa - wystarczy tylko zainstalowany interpreter Pythona (w wersji 2.4 i wyższej z serii 2.x) ze standardowymi modułami. Wapiti korzysta z autorskiego modułu lswww, który realizuje przechodzenie skanera po witrynie i wyszukiwanie miejsc, do których można wstawić dane. Standardowa biblioteka Pythona parsująca kod HTML wymaga poprawnego kodu, dlatego, aby poprawić skuteczność narzędzia warto doinstalować trzy moduły: HTML Tidy, ctypes, uTidylib. Pomogą one poprawnie zinterpretować napotkany kod. Dodatkowo w celu podniesienia wykrywalności błędów aplikacji napisanych w języku PHP warto ustawić w konfiguracji następujące dyrektywy:
safe_mode = Off
display_errors = On
magic_quotes_gpc = Off
allow_url_fopen = On"

[Aby zobaczyć linki, zarejestruj się tutaj]