Skip to main content
πŸŽƒ
HALLOWEEN 50% OFFPay Once $59, Use All Year (Normally $119)Activate Now β†’

Want to Practice These Techniques?

Try Hackviser's interactive cyber security upskilling platform - Learn by doing!

Start Practicing Now

Nikto

"A must-have in any security toolkit,extensive database of known vulnerabilities and misconfigurations." - Chris Gates

What is the purpose of Nikto?​

Nikto is an open source web server scanner that performs vulnerability scanning against web servers for multiple items, including dangerous files and programs.

Here are the primary uses of Nikto:

  • Vulnerability Scanning: Nikto is a tool that scans web servers for vulnerabilities, misconfigurations, and outdated software. It also provides identification of default files and potential security risks that could be exploited by hackers.

  • Custom Scanning: It allows users to customize their scanning by selecting target URLs, ports, and other parameters of the scan.

  • Output Options: Nikto provides various output formats, including plain text, XML, and CSV.That making that easy post-attack analysis.

  • Extensibility: Nikto can easily be extended by the user to particular needs of users with custom plugins and scripts.

Core Features​

  • Web Server Scanning
  • Vulnerability Detection
  • Identification of Misconfigurations
  • Support for Multiple Web Servers
  • Detection of Common Vulnerabilities
  • Comprehensive Plugin System
  • Configurable Scan Options
  • Output in Various Formats
  • SSL/TLS Support

Data sources​

  • Vulnerability Databases
  • Web Server Fingerprints
  • Configuration Files
  • Security Plugins
  • Public Exploits and Threat Reports

Common Nikto Commands​

1. Start Nikto​

  • This command initiates a basic scan against a specified target URL.
nikto -h <target_url>

2. Specify Port​

  • This command allows users to define a custom port for the scan.Specification by the port provides to user can target services running on non-default ports.
nikto -h <target_url> -p <port>

3. Use SSL​

  • This command turns on SSL scanning of the given URL. It allows the testing of HTTPS services and ensures all secure connections are covered.
nikto -h <target_url> -ssl

4. Save Output​

  • This command specifies an output file for logging the scan results. By saving the output, users can review their findings for post-attack report analysis.
nikto -h <target_url> -o <output_file>

5. Use Plugins​

  • This command allows the user to specify target-specific plugins to be used during scanning. By using plugins, the user enhances the functionality of the Nikto and increases its efficiency.
nikto -h <target_url> -Plugins <plugin_name>

6. Disable Certain Checks​

  • This command allows the user to turn off unsuccesful outputs for evaluation so they can focus on the important and success parts of the attack-related output so users can focus on vulnerabilities.
nikto -h <target_url> -no404

7. Update Nikto Database​

  • This command updates Nikto’s vulnerability database to ensure the latest version of Nikto.
nikto -update

8. Help and Usage Information​

  • This command provides help and usage information for Nikto, listing available options and commands.
nikto -H

Alternative usage:

nikto --help

Output Examples of Nikto Commands​

CommandExample UsageFunctionOutput Example
Start Niktonikto -h http://example.comInitiates a basic scan against the specified target URL.- Nikto v2.1.6
- Target IP: 192.168.1.1
- Target Hostname: example.com
- Scanning for known vulnerabilities and misconfigurations.
Specify Portnikto -h http://example.com -p 8080Defines the port to be scanned.- Scanning port 8080
- Checking for web server vulnerabilities on port 8080.
Use SSLnikto -h https://example.com -sslEnables SSL scanning for HTTPS services.- SSL enabled
- Scanning HTTPS service on port 443
Disable Certain Checksnikto -h http://example.com -no404Disables checks that are not relevant to the assessment.- 404 checks disabled
Use Pluginsnikto -h http://example.com -Plugins allUtilizes specified plugins during the scan.- Using all available plugins for the scan
Specify Host Headernikto -h http://example.com -host www.test.comSets the Host header for the request.- Host header set to www.test.com
Save Outputnikto -h http://example.com -o scan_results.txtLogs the scan results to a specified output file.- Results saved to scan_results.txt
Save Scan in HTMLnikto -h http://example.com -o scan.html -Format htmlSaves the scan results in HTML format.- Results saved in scan.html
Update Nikto Databasenikto -updateUpdates the vulnerability database.- Nikto database updated successfully
Display Versionnikto -VersionDisplays the current version of Nikto.- Nikto v2.1.6
List Pluginsnikto -list-pluginsLists all available plugins for Nikto.- Plugin: Apache Users
- Plugin: Headers
Tuning Optionsnikto -Tuning 1Fine-tunes the scan to include only specific types of tests.- Scanning for file upload vulnerabilities only.
Set Timeoutnikto -timeout 10Sets a timeout for each network request.- Timeout set to 10 seconds
Throttle Requestsnikto -h http://example.com -delay 2Introduces a delay between each request to avoid detection.- Delay of 2 seconds between each request
Ignore SSL Certificatenikto -h https://example.com -ssl -noverifyIgnores SSL certificate verification.- SSL certificate verification ignored
Define Custom User-Agentnikto -h http://example.com -useragent "MyAgent"Uses a custom User-Agent string for the scan.- User-Agent set to MyAgent
Display Helpnikto -H or nikto --helpShows the help menu with all available commands and options.- Usage: nikto [options]
- Example: nikto -h http://example.com
Nikto Configuration Filenikto -config /path/to/nikto.confUses a specified configuration file for the scan.- Using configuration file at /path/to/nikto.conf