WarFi Labs

nikto

web server scanner ยท GPLv2

A fast web server scanner that checks for thousands of known misconfigurations, dangerous files, and outdated software in one pass.

Authorized use only. Run these only on systems you own or have explicit written permission to test. Full notice at the foot of the page.

01The quick first look at a web server

nikto is a broad, noisy, fast checklist against a web server. It throws thousands of known tests at a target: dangerous default files, outdated server software, revealing headers, directory listing, common misconfigurations. It is not subtle and it is not stealthy; it is the tool you run early to catch the obvious problems quickly, before you move to focused tools. Think of it as a smoke alarm, not a surgeon.

↑ contents

02Install

$ sudo emerge net-analyzer/nikto # Gentoo

$ sudo apt install nikto # Debian / Ubuntu / Kali

$ sudo dnf install nikto # Fedora / RHEL (EPEL)

03A basic scan

Point it at a host with -h. It fingerprints the server and runs its checks, printing findings as it goes. On HTTPS it figures out the port, or you give it -ssl and a port.

$ nikto -h https://target

- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 185.199.108.153 + Target Hostname: target + Server: nginx/1.18.0 + /: The X-Content-Type-Options header is not set. + /: Server may leak inodes via ETags, header found with file /, fields: 0x5e + /admin/: This might be interesting. + /backup/: Directory indexing found. + /../../etc/passwd: Possible directory traversal. + 7915 requests: 3 error(s) and 6 item(s) reported on remote host

04Tuning what it checks

The full test set is loud. -Tuning narrows it to categories you care about, which cuts both time and noise. Use -T followed by category numbers, for instance injection and file-upload tests only.

$ nikto -h https://target -Tuning 1234

$ nikto -h https://target -Tuning x6

- Nikto v2.5.0 + Target IP: 203.0.113.11 + Target Hostname: target + Start Time: 2026-10-07 16:02:11 + Server: Apache/2.4.52 (Ubuntu) + /admin/: Admin login page/section found. + /backup/: Directory indexing found. + OSVDB-3233: /icons/README: Apache default file found. + 7 host(s) tested

05Saving reports

For anything you will act on, write a report. nikto emits HTML, CSV, and XML, which is better than scrolling the terminal for a scan with many findings.

$ nikto -h https://target -o report.html -Format htm

+ 26 items checked: 6 finding(s) reported, 0 error(s) + Report written to report.html (HTML format) + End Time: 2026-10-07 16:05:44 (213 seconds)

↑ contents

06Things to know

» nikto is deliberately noisy; it will light up any IDS instantly, so it is a poor choice when stealth matters.

» Many findings are informational, not vulnerabilities; read them, do not just count them.

» -useproxy routes it through Burp or ZAP so you can see and replay what it sent.

» It tests the server and known files, not your application logic; pair it with ffuf, sqlmap, and a proxy for real coverage.

07Clearing a nikto report on your own server

Run nikto against your own site and work the list top to bottom; most findings have a one-line fix. Missing security headers, directory indexing, leftover default files, and an outdated server version are the usual haul, and all are quick wins that measurably shrink your exposure.

» Set the security headers it flags: X-Content-Type-Options, a Content-Security-Policy, HSTS on HTTPS.

» Turn off directory indexing so folders without an index page do not list their contents.

» Remove default, sample, and backup files from the web root.

» Keep the server software current; an outdated nginx or Apache banner is both a finding and a real risk.

↑ contents

Authorized use only

The tools and techniques in these guides are for defending, testing, and understanding systems you own or have explicit written permission to assess. Unauthorized access to computers, networks, accounts, or data is a criminal offense in nearly every jurisdiction, and the penalties are real.

A few of the laws that apply, by way of example:

Wherever you are, the rule is the same: get authorization in writing, stay within the agreed scope, and never touch a system that is not yours to test. If you are unsure whether something is permitted, treat it as not permitted until you have clear authorization.

This is general information, not legal advice.