Nikto Under the Hood

Nikto Under the Hood

Nikto is an open-source web server scanner that performs comprehensive tests against web servers for various security vulnerabilities. Developed by Chris Sullo and David Lodge, Nikto is written in Perl and released under the GPL license.

Under the hood, Nikto utilizes a variety of techniques to scan web servers, including sending HTTP requests to specific directories and files, testing for known vulnerabilities in web applications and servers, and performing a variety of checks to detect misconfigurations and other security issues.

Nikto’s scanning capabilities can be customized through a variety of configuration options, allowing users to tailor the scan to their specific needs. Additionally, Nikto includes a number of plugins that can be used to extend its functionality, including plugins for scanning SSL servers and detecting outdated software.

Overall, Nikto is a powerful tool for web server scanning and can be used as a valuable component of a larger network security strategy. Its open-source nature and active community of developers make it a popular choice for security professionals and enthusiasts alike.

Nikto’s Plug-in Interface: Nikto’s plug-in interface is relatively simple. The plug-ins are Perl programs executed by Nikto’s run_plugins( ) function. For a plug-in to be executed correctly, it must meet three requirements. First, the plug-in file should use the naming convention nikto_ foo .plugin, where foo is the name of the plug-in. Second, the plug-in should have an initialization routine with the same name as the plug-in. And third, the plug-in should have an entry in the file nikto_plugin_order.txt. This file controls which plug-ins run, and in what order. As an example, a line could be added to the file that simply states nikto_foo. This would call the routine nikto_foo( ) within the file nikto_foo.plugin. To keep the plug-ins portable, you should not use additional modules, but instead copy the needed code into the plug-in itself.

A side effect of the chosen plug-in execution method is that the plug-ins and Nikto share the global namespace. This is why you don’t need use statements to access Nikto or LibWhisker routines. This simplifies the plug-ins. Plug-in developers should make sure their variable and routine names don’t conflict with any of Nikto’s global variables.

Apply for Network Security Open Source Software Developer Certification Now!!

https://www.vskills.in/certification/network-security-open-source-software-developer-certification

Back to Tutorial

Using Nikto
Existing Nikto Plug-ins

Get industry recognized certification – Contact us

keyboard_arrow_up
Open chat
Need help?
Hello 👋
Can we help you?