NIKTO.PL(1)
π NIKTO.PL(1) β Vulnerability Scanner π
okay bestie, welcome to nikto.pl, the manual page that's about to make you a web-server-scanning icon β¨ (yes, the manpage name is literally that β nikto.pl, section 1, and now you know π«Ά)
πΈ SYNOPSIS πΈ
nikto.pl [options...]
that's it. that's the whole vibe. options go in, magic comes out π«
β¨ DESCRIPTION β¨
Nikto is an Open Source web server scanner, and she is thorough, okay? She runs comprehensive tests against web servers for a whole bunch of things that are, generally speaking, considered dangerous. Like, red-flag energy. Here's what she checks for π
- Server and software misconfigurations
- Default files and programs
- Insecure files and programs
- Outdated servers and programs
- Dangerous files
- Other problems
Nikto is built on LibWhisker2 (LW2) and can run on any platform that has a Perl environment. No cap, any platform. She's also fluent in SSL, proxies, host authentication, attack encoding, and more π¦ She can be updated automatically straight from the command-line, and she supports the optional submission of updated version data back to the maintainers (we love a girl who gives back π).
π OPTIONS π
-ask yes|no|autoβ whether she should ask you about submitting updates. Options:yes(ask about each one),no(don't ask, don't send),auto(don't ask, just send). pick your level of chattiness π£οΈ-Add-header header:valueβ adds HTTP headers. can be used multiple times, one per header pair. stack 'em like bracelets π-check6β checks if IPv6 is actually working (connects toipv6.google.com, or whatever value is set innikto.conf).-Cgidirs dirsβ scan these CGI directories. the special wordsnoneorallmay be used. you can also hand her a literal value for a CGI directory like/cgi-test/β but bestie, it must include the trailing slash, don't embarrass me π-config fileβ use this config file instead of the defaultnikto.conf.-dbcheckβ check the database and other key files for syntax errors. like a vibe check but for files π-Display optionsβ turn display outputs on/off:1(show redirects),2(show cookies received),3(show all 200/OK responses),4(show URLs which require authentication),D(debug output),E(display all HTTP errors),P(print progress to STDOUT),S(scrub output of IPs and hostnames),V(verbose output).-evasion techniqueβ the encoding technique, pick your fighter:1(random URI encoding),2(directory self-reference),3(premature URL ending),4(prepend long random string),5(fake parameter),6(TAB as request spacer),7(change the case of the URL),8(use Windows directory separator),A(use carriage return as request spacer),B(use binary value0x0bas request spacer),R(random User-Agent from database; default is the first entry; ignored when-useragentis set; note the suggested-headers check always uses the first entry regardless). yeah that last bit is a lot, i know π-followredirectsβ follow 3xx redirects to the new location. she'll chase it down πββοΈ-Format formatβ the save file format:csv(Comma-separated-value),json(JSON Format),htm(HTML Format),sql(Generic SQL, see docs for schema),sqld(SQL Direct, directly inserts into MySQL/PostgreSQL database),txt(Plain text),xml(XML Format). multiple formats can be specified as a comma-separated list. if you don't specify one, the format gets taken from the file extension you passed to-output.
β οΈ heads up:sqldformat requiresDB_TYPE,DB_HOST,DB_PORT,DB_NAMEinnikto.confand theNIKTO_DB_USER,NIKTO_DB_PASSenvironment variables. no shortcuts, she needs all of it π₯
-Helpβ display extended help information. the extended cut, director's edition β¨-host targetβ the host(s) to target. can be an IP address, hostname or text file of hosts. a single dash (-) may be used for stdout. she can also parsenmap -oGstyle output π versatile queen.-id id:pass[:realm]β ID and password to use for host Basic host authentication. format is"id:password"or"id:password:realm".-ipv4β IPv4 only.-ipv6β IPv6 only.-key fileβ client certificate key file.-list-pluginsβ list all available plugins and perform no testing. just a lil show-and-tell π-maxtime timeβ maximum testing time per host (e.g.,1h,60m,3600s).-mutate optionsβ guess additional file names:1(test all files with all root directories),2(guess for password file names),3(enumerate user names via Apache),4(enumerate user names via cgiwrap).-mutate-options optionsβ provide information for mutates.-nocheckβ do not check for updates on startup. successful version checks are otherwise cached for 6 hours inEXECDIR/.last_update_checkβ delete that file to force a fresh check ποΈ-nocookiesβ do not use cookies from responses in requests.-nointeractiveβ disable interactive features. she'll stop asking, she'll just go π-nolookupβ do not perform name lookups on IP addresses.-noslashβ strip the trailing slash from the URL (e.g.,/admin/to/admin).-nosslβ do not use SSL to connect to the server.-nosslkeepaliveβ disable TLS connection reuse (keep-alive is on by default). useful for servers that misbehave with reused TLS sessions. some servers simply cannot handle the reconnection arc π-Option name=valueβ override an option innikto.conf. can be issued multiple times.-output fileβ write output to the file specified ('.'for auto-name). the format used will be taken from the file extension. this can be over-ridden by using the-Formatoption.-Pause secondsβ seconds (integer or floating point) to delay between each test. hydrate between reps bestie π§-Platform platformβ platform of target:nix(Unix/Linux),win(Windows), orall(both).-Plugins listβ list of plugins to run (default:ALL).-port portsβ TCP port(s) to target. to test more than one port on the same host, specify the list of ports. ports can be specified as a range (i.e.,80-90), or as a comma-delimited list (i.e.,80,88,90). if not specified, port80is used.-RSAcert fileβ client certificate file.-root pathβ prepend root value to all requests, format is/directory.-Save directoryβ save positive responses to this directory ('.'for auto-name).-sslβ only test SSL on the ports specified. using this option will dramatically speed up requests to HTTPS ports, since otherwise the HTTP request will have to timeout first. literally a glow-up for your runtime π₯-timeout secondsβ seconds to wait before timing out a request. default timeout is10seconds.-Tuning optionsβ tuning options will control the test that Nikto will use against a target. by default, if any options are specified, only those tests will be performed. if thexoption is used, it reverses the logic and excludes only those tests. use the reference number or letter to specify the type, multiple may be used:0β File Upload1β Interesting File / Seen in logs2β Misconfiguration / Default File3β Information Disclosure4β Injection (XSS/Script/HTML)5β Remote File Retrieval - Inside Web Root6β Denial of Service7β Remote File Retrieval - Server Wide8β Command Execution / Remote Shell9β SQL Injectionaβ Authentication Bypassbβ Software Identificationcβ Remote Source Inclusiondβ WebServiceeβ Administrative Consolexβ Reverse Tuning Options (i.e., include all except specified)
-url targetβ target host/URL (alias of-host).-Userdbs typeβ load only user databases, not the standard databases. options:all(disable standard dbs and load only user dbs),tests(disable onlydb_testsand loadudb_tests).-useragent stringβ forces a specific User-Agent string, overriding the database entirely. she said "i'll be whoever i want" π-useproxy proxyβ use the HTTP proxy defined in the configuration file, or given as an argument in the formathttp://server:port.-Versionβ display the Nikto software, plugin and database versions.-vhost hostnameβ specify theHostheader to be sent to the target.-404code codesβ ignore these HTTP codes as negative responses (always). format is"302,301".-404string stringβ ignore this string in response body content as negative response (always). can be a regular expression.
π¦ DSL MATCHERS π¦
Nikto's test database supports a mini-DSL for matching responses, and honestly? it's giving tiny-language-that-could β¨ The following matchers are supported:
BODY:and!BODY:β match or exclude content in the response body.HEADER:and!HEADER:β match or exclude content in HTTP headers.COOKIE:and!COOKIE:β match or exclude content in HTTP cookies. (NEW π)CODE:and!CODE:β match or exclude HTTP status codes.
BODY:login&&!BODY:logout&&HEADER:X-Powered-By&&COOKIE:sessionid
look at her go π that one line is doing so much.
π FILES π
nikto.confβ the Nikto configuration file. this sets Nikto's global options. severalnikto.conffiles may exist and are parsed in the below order. as each configuration file is loaded it supersedes any previously set configuration:- System wide (e.g.
/etc/nikto.conf) - Home directory (e.g.
$HOME/nikto.conf) - Current directory (e.g.
./nikto.conf)
- System wide (e.g.
bottom of the list wins, so the closest one to you is the main character π
${NIKTO_DIR}/databases/db*β database files that nikto uses to check for vulnerabilities and issues within the web server.${NIKTO_DIR}/plugins/*.pluginβ all nikto's plugins exist here. nikto itself is just a wrapper script to manage the CLI and pass through to the plugins. she's the manager, the plugins do the performing π${NIKTO_DIR}/templatesβ contains the templates for nikto's output formats.
π BUGS π
the current features are not supported:
- SOCKS Proxies
that's it, that's the whole list. socks proxies just aren't invited to the party π
π AUTHORS π
Nikto is written and maintained by Chris Sullo and David Lodge. see the main documentation for other contributors π«Ά
All code is Copyright CIRT, Inc., except LibWhisker which is Copyright (c) 2009, Jeff Forristal (wiretrip.net). Other portions of code may be (C) as specified.
β SEE ALSO β
- Nikto Homepage[1]
π NOTES π
- Nikto Homepage
http://www.cirt.net/
okay that's the whole page bestie, you're officially certified πβ¨ she's version 2.5, dated 07/30/2026, and she lives at http://www.cirt.net/ β go scan something responsibly, ily, bye ππ¦π
π¦ where this page comes from
- arch rolling: nikto 2.6.1-1 Β· GPL-3.0-only
- nixpkgs unstable: nikto 2.6.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms