HackproofHacks
Tool guide · Web scanning

How to Use Nikto: A Practical Beginner Guide

11 min read · Lab: Your own lab (DVWA / Juice Shop)

In one line

Nikto quickly checks a web server against a big list of known problems and risky files, giving you a fast first look at what might be wrong.

What this is, for a beginner

Nikto is a web server scanner that checks a target against a large database of known issues: outdated server software, dangerous or default files, insecure configurations, and common exposures. It is fast and broad rather than deep, which makes it a useful first pass to surface obvious problems before you dig in by hand.

Because it runs thousands of checks quickly, Nikto is loud and easy to detect, and it produces some noise you must interpret. Treat it as a way to quickly flag candidates, outdated components, exposed files, missing headers, then confirm and prioritise the interesting results yourself rather than trusting every line.

The legal lab we use: Your own lab (DVWA / Juice Shop)

Scan only web servers you own or are authorized to test. Nikto is noisy and clearly identifiable, so never point it at systems you do not control.

Your own lab (DVWA / Juice Shop) project page →

Full walkthrough: exploiting it step by step

Step 1 — Run a basic scan

Point Nikto at your local lab web server with the host flag. It begins running its checks and streaming findings.

terminal
nikto -h http://localhost:3000

Expected result: Nikto reports the server details and a stream of findings such as missing headers, interesting files, and version notes.

Step 2 — Read the server and header findings

Early output includes the server software and version and missing security headers. Outdated software and absent headers are quick, real findings.

Expected result: You can see the reported server version and which security headers are missing, both actionable.

Step 3 — Note interesting files and paths

Nikto flags files and directories from its database that are present and potentially sensitive, such as test scripts, backups, or admin paths.

Expected result: A set of flagged files and paths worth investigating manually is listed.

Step 4 — Save a report

Output a report to a file so you can review and share findings rather than scrolling the terminal, useful when the scan is long.

terminal
nikto -h http://localhost:3000 -o nikto-report.html -Format htm

Expected result: A formatted report file is written, summarising all findings for later review.

Step 5 — Verify before you trust

Nikto produces false positives, so confirm the interesting findings by hand: open the flagged file, check the header, or verify the version. This is where the misconfiguration walkthrough continues.

Expected result: You separate real, confirmed issues from noise, producing a shortlist worth acting on.

Free resource

Get the free 35-week ethical hacking roadmap

The exact order I'd learn this in, every vulnerability and tool, week by week, with the labs to practise each one. Enter your email and I'll send it over, plus one practical lesson each week.

How to detect and fix this

How to detect it

  • Nikto is deliberately noisy and clearly identifies itself; a burst of odd requests and a recognisable user agent make it easy to spot in logs and with a web application firewall.
  • The findings themselves, outdated software, exposed files, missing headers, are the defender's to-do list.
  • Monitoring for scanner signatures gives early warning of reconnaissance.

How to fix it

  • Patch and update server software, since version disclosure and known-issue checks target outdated components.
  • Remove exposed and default files and disable directory listing and debug features in production.
  • Add the security headers Nikto flags as missing, as part of a broader hardening pass.
  • Reduce attack surface generally so there is less for a broad scanner to find.

Common beginner mistakes

  • Treating every Nikto line as a confirmed vulnerability; it flags candidates, and false positives are common.
  • Running only Nikto and thinking the app is fully tested; it is a broad first pass, not a substitute for manual testing.
  • Being surprised it is detected; Nikto is intentionally loud and not built for stealth.
  • Scanning targets you do not own, which is easily attributed and inappropriate.

FAQ

Is Nikto a full penetration testing tool?

No. Nikto is a fast, broad scanner that surfaces known issues and obvious exposures. It is a useful early step, but it does not find business-logic flaws, access-control issues, or anything requiring manual reasoning. Use it to flag candidates, then test by hand.

Why is Nikto so easily detected?

It runs thousands of checks quickly and identifies itself clearly, which makes it fast but very noisy. That is fine for authorized testing where stealth is not the goal, but it means Nikto is not suited to situations where you must stay quiet.

How do I deal with false positives?

Verify interesting findings manually: open the flagged file, confirm the header is missing, or check the reported version. Nikto points you at candidates efficiently, and a quick manual check turns them into confirmed findings or discards the noise.

Where to go from here

You just exploited one vulnerability in a lab. Here's the structured path.

Scattered tutorials teach you tricks; they don't make you a pentester. My mentorship is 35 weeks of exactly this, every vulnerability and tool in a deliberate order, on real labs, with one-on-one feedback on your work so your mistakes get caught early instead of becoming habits.

Keep practising