Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Nikto — skanowanie podatności aplikacji webowych

Opublikowano: 10 kwietnia 2026 · Kategoria: Bezpieczeństwo

Nikto to klasyczny, open-source skaner podatności aplikacji webowych działający z linii komend. Sprawdza serwer pod kątem ponad 6700 znanych problemów: przestarzałych wersji oprogramowania, niebezpiecznych plików (backup.zip, config.php, .git), brakujących nagłówków bezpieczeństwa i podstawowych podatności. Jest szybki, prosty i dostępny w praktycznie każdej dystrybucji Linux. Ten artykuł pokazuje instalację, podstawowe i zaawansowane użycie, generowanie raportów i porównanie z OWASP ZAP.

Instalacja Nikto

# Ubuntu / Debian
sudo apt install nikto -y
nikto -Version

# macOS (Homebrew)
brew install nikto

# Kali Linux (preinstalowany)
nikto -Version

# Ze zrodla (GitHub - najnowsza wersja)
git clone https://github.com/sullo/nikto.git
cd nikto/program
perl nikto.pl -Version

# Sprawdz dostepne pluginy
nikto -list-plugins

Podstawowe skanowanie

# Podstawowy skan HTTP
nikto -h example.com

# Skan HTTPS
nikto -h https://example.com
nikto -h example.com -ssl

# Skan konkretnego portu
nikto -h example.com -port 8080
nikto -h example.com -p 8443 -ssl

# Skan z uwierzytelnieniem HTTP Basic Auth
nikto -h example.com -id user:password

# Skan konkretnego katalogu / sciezki
nikto -h example.com -root /aplikacja/

# Skan wielu hostow z pliku (jeden host na linie)
nikto -h hosts.txt

# Przykladowy output:
# - Nikto v2.1.6
# Target: example.com
# - /backup.zip: Potential backup file found
# - /.git/HEAD: Git repository visible — information disclosure
# - X-Frame-Options header missing
# - Server: Apache/2.4.41 - potentially outdated
# OSVDB-396: /.htaccess: Htaccess file accessible

Kategorie testów (-Tuning)

Nikto dzieli testy na kategorie. Domyślnie uruchamia wszystkie. Możesz ograniczyć do konkretnych kategorii przez -Tuning, co przyspieszy skan:

Numer Kategoria Co testuje
0 File Upload Upload podatności
1 Interesting File Interesujące pliki i logi
2 Misconfiguration Błędna konfiguracja serwera
3 Information Disclosure Ujawnienie informacji
4 Injection (XSS, HTML) Cross-site scripting, HTML injection
5 Remote File Retrieval Zdalny dostęp do plików
6 Denial of Service Testy DoS (ostrożnie!)
7 Remote File Inclusion RFI podatności
8 Command Execution Zdalne wykonanie poleceń
9 SQL Injection Testy SQL injection
a Authentication Bypass Omijanie uwierzytelnienia
b Software Identification Identyfikacja oprogramowania
c Remote Source Inclusion Zdalne ładowanie zasobów
# Skanuj tylko XSS i SQL injection
nikto -h example.com -Tuning 49

# Skanuj tylko naglowki bezpieczenstwa i misconfiguracje
nikto -h example.com -Tuning 23

# Wyklucz testy DoS (kategoria 6)
nikto -h example.com -Tuning x6

# Skan z dluzszym timeoutem (wolniejsze systemy)
nikto -h example.com -timeout 30

Generowanie raportów

# Raport HTML
nikto -h example.com -o raport.html -Format html

# Raport CSV (do importu do arkusza)
nikto -h example.com -o raport.csv -Format csv

# Raport XML (do parsowania)
nikto -h example.com -o raport.xml -Format xml

# Raport TXT (domyslny format)
nikto -h example.com -o raport.txt -Format txt

# Jednoczesnie do pliku i na ekran
nikto -h example.com -o raport.html -Format html -Display V

# Polacz skan HTTPS z plikiem XML do dalszej analizy
nikto -h https://example.com -o wyniki/$(date +%Y-%m-%d)-scan.xml -Format xml

Skanowanie przez proxy i omijanie WAF

# Skan przez Burp Suite (przechwytuj requesty)
nikto -h example.com -useproxy http://127.0.0.1:8080

# Zmien User-Agent (podstawowe omijanie WAF)
nikto -h example.com -useragent "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"

# Zmien User-Agent z pliku (lista agentow)
# /etc/nikto.conf lub ~/.nikto.conf:
# USERAGENT=Mozilla/5.0 (compatible; Googlebot/2.1)

# Spowolnij skan (dla mniej agresywnego profilu)
nikto -h example.com -maxtime 3600   # max 1h
nikto -h example.com -Display 1      # pokazuj tylko znaleziska

# Skan przez Tor (anonimowo)
# Wymagany torify lub tsocks:
torify nikto -h example.com

# Ignoruj certyfikat SSL (self-signed)
nikto -h https://example.com -nossl  # nie sprawdzaj SSL
nikto -h https://example.com -ssl    # wymus SSL ignorujac bledy cert

Nikto vs OWASP ZAP — porównanie

Cecha Nikto OWASP ZAP
Typ Skaner sygnatury (CLI) Proxy + aktywny skaner (GUI/CLI)
Interfejs Tylko CLI GUI + CLI (daemon mode)
Logika aplikacji Nie rozumie — skanuje URL Spider + formularze + AJAX
Szybkość Szybki (minuty) Wolniejszy (godziny dla dużych app)
False positives Dużo (weryfikuj ręcznie) Mniej (aktywna weryfikacja)
Wykrywane podatności Znane sygnatury, brakujące nagłówki XSS, SQLi w formularzach, CSRF
Integracja CI/CD Łatwa (CLI one-liner) ZAP API + Docker image
Rekomendacja Szybki pierwszy przegląd Głęboki audit aplikacji

Najczęstsze pytania

Co sprawdza Nikto podczas skanowania? +
Nikto sprawdza ponad 6700 problemów: przestarzałe wersje serwerów (Apache, Nginx, IIS), niebezpieczne pliki i katalogi (/.git, /config.php, /phpinfo.php, /backup.zip), brakujące nagłówki bezpieczeństwa (X-Frame-Options, X-Content-Type-Options, Content-Security-Policy, HSTS), potencjalne podatności XSS i SQL injection w parametrach URL, niebezpieczne metody HTTP (PUT, DELETE, TRACE), domyślne pliki CMS, certyfikaty SSL i wiele innych.
Czy Nikto jest bezpieczny w użyciu na produkcji? +
Nikto jest agresywny — wysyła setki lub tysiące requestów na minutę i może triggerować WAF, logi błędów i alerty IDS. Na produkcji używaj go tylko z uprzedzeniem właściciela systemu (lub jeśli ty jesteś właścicielem) i ewentualnie poza godzinami szczytu. Dla systemów z WAF użyj flagi -Tuning 9 (omijanie WAF) lub skanuj przez --proxy z własnym IP. Nigdy nie skanuj systemów bez uprawnień.
Czym Nikto różni się od OWASP ZAP? +
Nikto to pasywny skaner sygnatury — sprawdza znane problemy z bazy bazy danych. Jest szybki i prosty, ale nie rozumie logiki aplikacji. OWASP ZAP (Zed Attack Proxy) to aktywny proxy do przechwytywania i modyfikacji requestów, z modułem fuzzing, spider i active scan który podąża za linkami, wypełnia formularze i testuje podatności w kontekście. ZAP jest bardziej skomplikowany, ale wykrywa podatności specyficzne dla konkretnej aplikacji. Nikto jest dobrym pierwszym krokiem, ZAP to głębszy audit.
Jak filtrować wyniki Nikto i ignorować false-positive? +
Nikto ma wiele opcji filtrowania: -Tuning <lista> wybiera kategorie testów (0=wszystkie, 1=XSS, 4=injection, 9=SQL), -e <ID> pomija konkretne testy po ID, -nointeractive wyłącza interaktywne pytania. Wyniki można eksportować do CSV (-o raport.csv -Format csv) i filtrować po OSVDB numer. False-positives są częste — zawsze ręcznie weryfikuj Critical znaleziska (np. otwórz plik w przeglądarce czy faktycznie istnieje).
Jak skanować przez proxy w Nikto? +
Nikto obsługuje HTTP proxy przez flagę -useproxy http://proxy:port. Możesz używać go z Burp Suite (-useproxy http://127.0.0.1:8080) żeby przechwycić wszystkie requesty Nikto w Burp i dalej analizować. Do omijania WAF (zmiana User-Agent, rotacja IP) użyj -useragent "Custom Agent" i --proxy przez zewnętrzne proxy. Skanowanie przez Tor: -useproxy socks5://127.0.0.1:9050 (wymaga torify lub tsocks).

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.