Top Related Projects
OWASP Joomla Vulnerability Scanner Project https://www.secologist.com/
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
CMSmap is a python open source CMS scanner that automates the process of detecting security flaws of the most popular CMSs.
A plugin-based scanner that aids security researchers in identifying issues with several CMSs, mainly Drupal & Silverstripe.
Quick Overview
OWASP Joomla! Vulnerability Scanner (JoomScan) is an open-source project for detecting security issues in Joomla! CMS websites. It's designed to identify vulnerabilities, misconfigurations, and outdated components in Joomla! installations, helping administrators and security professionals improve the security of their Joomla! sites.
Pros
- Comprehensive scanning capabilities for Joomla! specific vulnerabilities
- Regular updates to keep up with new security threats
- Easy-to-use command-line interface
- Actively maintained by the OWASP community
Cons
- Limited to Joomla! CMS, not applicable for other platforms
- May produce false positives in some cases
- Requires some technical knowledge to interpret results effectively
- Can be resource-intensive on large Joomla! installations
Getting Started
To use JoomScan, follow these steps:
-
Clone the repository:
git clone https://github.com/OWASP/joomscan.git
-
Install required dependencies (on Debian-based systems):
sudo apt-get install libwww-perl libwww-mechanize-perl libnet-ssleay-perl
-
Run JoomScan:
perl joomscan.pl -u <target>
Replace <target>
with the URL of the Joomla! site you want to scan. For more options and advanced usage, refer to the project's documentation on GitHub.
Competitor Comparisons
OWASP Joomla Vulnerability Scanner Project https://www.secologist.com/
Pros of joomscan
- More active development and recent updates
- Larger community and contributor base
- Better documentation and usage instructions
Cons of joomscan
- Potentially more complex to use for beginners
- May have more dependencies and requirements
Code comparison
joomscan:
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use LWP::UserAgent;
joomscan>:
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
The code comparison shows that joomscan includes the LWP::UserAgent
module, which is not present in joomscan>. This suggests that joomscan may have more advanced networking capabilities.
Both repositories appear to be related to Joomla scanning tools, but joomscan seems to be the more actively maintained and feature-rich option. It likely offers more comprehensive scanning capabilities and better support for modern Joomla versions. However, joomscan> might be simpler and easier to use for basic scanning tasks.
When choosing between the two, consider your specific needs, technical expertise, and the level of scanning depth required for your Joomla security assessment.
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
Pros of WPScan
- More actively maintained with frequent updates
- Larger community and contributor base
- Comprehensive WordPress-specific vulnerability database
Cons of WPScan
- Limited to WordPress sites only
- Requires Ruby installation and dependencies
- Can be slower for large-scale scans
Code Comparison
WPScan (Ruby):
def scan_headers
@target.headers.each do |header|
if header.match?(/X-Powered-By: PHP/)
puts "PHP version detected: #{header}"
end
end
end
Joomscan (Perl):
sub scan_headers {
my $response = shift;
my $headers = $response->headers;
foreach my $header (keys %$headers) {
print "Server: $headers->{$header}\n" if $header =~ /Server/i;
}
}
Both tools scan HTTP headers, but WPScan focuses on WordPress-specific information, while Joomscan has a more general approach suitable for Joomla and other CMS platforms. WPScan's codebase is more modern and object-oriented, while Joomscan uses a more traditional procedural style. WPScan's larger community contributes to more frequent updates and a more extensive vulnerability database, making it a preferred choice for WordPress-specific security assessments.
CMSmap is a python open source CMS scanner that automates the process of detecting security flaws of the most popular CMSs.
Pros of CMSmap
- Supports multiple CMS platforms (WordPress, Joomla, Drupal)
- Written in Python, making it more versatile and easier to extend
- Includes both enumeration and vulnerability scanning features
Cons of CMSmap
- Less frequently updated compared to joomscan
- May have fewer Joomla-specific features and detection capabilities
- Potentially less comprehensive in terms of Joomla vulnerability coverage
Code Comparison
CMSmap (Python):
def fingerprint(self):
self.logger.info("Server: %s", self.server)
self.logger.info("X-Powered-By: %s", self.xpoweredby)
self.logger.info("X-Generator: %s", self.xgenerator)
joomscan (Perl):
sub fingerprint {
my ($self) = @_;
$self->logger->info("Server: " . $self->server);
$self->logger->info("X-Powered-By: " . $self->xpoweredby);
$self->logger->info("X-Generator: " . $self->xgenerator);
}
Both tools implement fingerprinting functionality, but CMSmap uses Python's object-oriented approach, while joomscan uses Perl's object-oriented syntax. The overall structure and purpose of the code snippets are similar, demonstrating that both tools aim to gather and log server information for CMS identification.
A plugin-based scanner that aids security researchers in identifying issues with several CMSs, mainly Drupal & Silverstripe.
Pros of droopescan
- Supports multiple CMS platforms (Drupal, WordPress, Silverstripe, Joomla)
- Actively maintained with more recent updates
- Includes a plugin system for easy extensibility
Cons of droopescan
- Less focused on Joomla-specific vulnerabilities
- May require more setup and dependencies
- Potentially slower scan times due to broader scope
Code Comparison
droopescan:
def enumerate_plugins(self):
plugins = self.plugins_get()
found_plugins = self.plugins_enumerate(plugins)
return found_plugins
joomscan:
sub check_plugins {
my $ua = shift;
my $plugins = get_plugins();
foreach my $plugin (@$plugins) {
check_plugin($ua, $plugin);
}
}
Both tools use similar approaches for plugin enumeration, but droopescan's Python implementation may be more accessible to modern developers. joomscan's Perl code is more Joomla-specific, potentially offering deeper insights for that particular CMS.
While joomscan focuses exclusively on Joomla, droopescan's multi-CMS approach provides broader utility. However, this comes at the cost of potentially less depth in Joomla-specific vulnerabilities. Users should choose based on their specific needs: deep Joomla scanning or broader CMS coverage.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
======
OWASP JoomScan Project
OWASP Joomla! Vulnerability Scanner (JoomScan) is an open source project, developed with the aim of automating the task of vulnerability detection and reliability assurance in Joomla CMS deployments. Implemented in Perl, this tool enables seamless and effortless scanning of Joomla installations, while leaving a minimal footprint with its lightweight and modular architecture. It not only detects known offensive vulnerabilities, but also is able to detect many misconfigurations and admin-level shortcomings that can be exploited by adversaries to compromise the system. Furthermore, OWASP JoomScan provides a user-friendly interface and compiles the final reports in both text and HTML formats for ease of use and minimization of reporting overheads.
OWASP JoomScan is included in Kali Linux distributions.
WHY OWASP JOOMSCAN ?
Automated ...
*Version enumerator
*Vulnerability enumerator (based on version)
*Components enumerator (1209 most popular by default)
*Components vulnerability enumerator (based on version)(+1030 exploit)
*Firewall detector
*Reporting to Text & HTML output
*Finding common log files
*Finding common backup files
INSTALL
git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
For Docker installation and usage
# Build the docker image
docker build -t rezasp/joomscan .
# Run a new docker container with reports directory mounted at the host
docker run -it -v /path/to/reports:/home/joomscan/reports --name joomscan_cli rezasp/joomscan
# For accessing the docker container you can run the following command
docker run -it -v /path/to/reports:/home/joomscan/reports --name joomscan_cli --entrypoint /bin/bash rezasp/joomscan
JOOMSCAN ARGUMENTS
Usage: joomscan.pl [options]
--url | -u <URL> | The Joomla URL/domain to scan.
--enumerate-components | -ec | Try to enumerate components.
--cookie <String> | Set cookie.
--user-agent | -a <user-agent> | Use the specified User-Agent.
--random-agent | -r | Use a random User-Agent.
--timeout <time-out> | set timeout.
--about | About Author
--update | Update to the latest version.
--help | -h | This help screen.
--version | Output the current version and exit.
OWASP JOOMSCAN USAGE EXAMPLES
Do default checks...
perl joomscan.pl --url www.example.com
or
perl joomscan.pl -u www.example.com
Enumerate installed components...
perl joomscan.pl --url www.example.com --enumerate-components
or
perl joomscan.pl -u www.example.com --ec
Set cookie
perl joomscan.pl --url www.example.com --cookie "test=demo;"
Set user-agent
perl joomscan.pl --url www.example.com --user-agent "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"
or
perl joomscan.pl -u www.example.com -a "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"
Set random user-agent
perl joomscan.pl -u www.example.com --random-agent
or
perl joomscan.pl --url www.example.com -r
Set proxy
perl joomscan.pl --url www.example.com --proxy http://127.0.0.1:8080
or
perl joomscan.pl -u www.example.com --proxy https://127.0.0.1:443
Update Joomscan...
perl joomscan.pl --update
OWASP PAGE
https://www.owasp.org/index.php/Category:OWASP_Joomla_Vulnerability_Scanner_Project
GIT REPOSITORY
https://github.com/rezasp/joomscan
ISSUES
https://github.com/rezasp/joomscan/issues
PROJECT LEADERS
- Mohammad Reza Espargham [ reza[dot]espargham[at]owasp[dot]org ]
- Ali Razmjoo [ ali[dot]razmjoo[at]owasp[dot]org ]
OWASP JoomScan introduction (Youtube)
Top Related Projects
OWASP Joomla Vulnerability Scanner Project https://www.secologist.com/
WPScan WordPress security scanner. Written for security professionals and blog maintainers to test the security of their WordPress websites. Contact us via contact@wpscan.com
CMSmap is a python open source CMS scanner that automates the process of detecting security flaws of the most popular CMSs.
A plugin-based scanner that aids security researchers in identifying issues with several CMSs, mainly Drupal & Silverstripe.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot