Website Vulnerability Scanning: What It Is and How to Start
What website vulnerability scanning is, how it works, the types of vulnerabilities it detects, and how to get started with scanning your own site.
A vulnerability scanner is a tool that automatically tests your website for known security weaknesses. It probes your site the way an attacker would -- checking for outdated software, misconfigured settings, exposed data, and common attack patterns -- but reports what it finds to you instead of exploiting it.
Vulnerability scanning is not a replacement for secure coding practices or a professional security audit. But it catches the low-hanging fruit: the issues that automated attackers find first. This guide covers what scanning does, what it detects, and how to start using it. For a broader security overview, see our website security checklist.
What Vulnerability Scanning Does
A vulnerability scanner crawls your website, examines its responses, and tests for known weaknesses. The process typically involves:
- Discovery. The scanner finds all accessible pages, forms, scripts, and resources on your site.
- Fingerprinting. It identifies the technologies you use: CMS type and version, web server software, programming language, JavaScript libraries.
- Testing. It runs tests against known vulnerabilities for the identified technologies. It also tests for generic web vulnerabilities like SQL injection, cross-site scripting (XSS), and insecure configurations.
- Reporting. It produces a report listing found vulnerabilities, their severity, and recommendations for fixing them.
Types of Vulnerabilities Scanners Detect
Outdated software
The most common finding. If your CMS, plugins, or server software have known security patches that you have not applied, the scanner flags them. This includes:
- WordPress core, plugin, and theme versions with known CVEs (Common Vulnerabilities and Exposures)
- Outdated PHP, Node.js, or Python versions
- Web server software (Apache, Nginx) with known issues
- JavaScript libraries with published vulnerabilities (like outdated jQuery versions)
SQL injection
SQL injection happens when user input (form fields, URL parameters) is passed directly into database queries without sanitization. An attacker can manipulate the query to read, modify, or delete database data. Scanners test for this by sending specially crafted input and analyzing the response.
Cross-Site Scripting (XSS)
XSS vulnerabilities allow attackers to inject malicious scripts into your pages. When other users visit those pages, the scripts run in their browsers, potentially stealing cookies, session tokens, or personal data. Scanners test for XSS by injecting script payloads into form fields and URL parameters.
Insecure configurations
Configuration issues that expose your site to attack:
- Directory listing enabled (attackers can browse your file structure)
- Debug mode enabled in production (exposes detailed error information)
- Default credentials still in place
- Unnecessary services exposed (phpMyAdmin accessible publicly, for example)
- Missing security headers (HSTS, CSP, X-Frame-Options)
SSL/TLS issues
Beyond certificate expiry, scanners check for:
- Weak cipher suites
- Outdated TLS versions (TLS 1.0 and 1.1 are deprecated)
- Missing HSTS headers
- Mixed content (HTTPS page loading HTTP resources)
Information disclosure
Sensitive information exposed through:
- Server version numbers in HTTP headers
- Detailed error messages visible to users
- Backup files left in web-accessible directories (
.bak,.sql,.zip) - Configuration files accessible via URL (
.env,wp-config.php.bak) - Source code or comments revealing internal details
Broken authentication
Weaknesses in login and session management:
- Login forms without brute force protection
- Sessions that do not expire
- Passwords transmitted without HTTPS
- Predictable session tokens
Types of Scanners
External (black-box) scanners
These scan your site from the outside, like an attacker would. They do not have access to your source code or server. They test what is publicly accessible.
Best for: Quick assessments, testing the attack surface visible to the public.
Examples: Qualys SSL Labs (SSL-specific), OWASP ZAP (free, comprehensive), Sucuri SiteCheck (CMS-focused), Detectify.
Internal (white-box) scanners
These have access to your source code, server configuration, or CMS admin. They can find deeper issues that external scanners miss.
Best for: Thorough assessments, development pipeline integration, finding issues before deployment.
Examples: WPScan (WordPress-specific, can use API token), SonarQube (source code analysis), Snyk (dependency scanning).
CMS-specific scanners
Tailored for specific platforms like WordPress, Drupal, or Joomla. They check for vulnerabilities in the core platform, plugins, and themes.
Best for: Sites running on popular CMS platforms where most vulnerabilities come from plugins and themes.
Examples: WPScan (WordPress), Drupal Security Review module, Acunetix (multi-CMS support).
How to Get Started
Step 1: Run a basic scan
Start with a free external scanner to get a baseline. Good starting points:
- Qualys SSL Labs (ssllabs.com) -- Tests your SSL/TLS configuration
- Security Headers (securityheaders.com) -- Checks your HTTP security headers
- Sucuri SiteCheck (sitecheck.sucuri.net) -- Scans for malware, blacklisting, and basic vulnerabilities
- Google Safe Browsing -- Check if Google has flagged your site
These are quick, free, and give you an immediate picture of obvious issues.
Step 2: Run a comprehensive scan
Use a more thorough scanner like OWASP ZAP (free, open source) or a commercial tool. These take longer but test for a wider range of vulnerabilities.
For WordPress sites, run WPScan:
wpscan --url https://yourdomain.com --enumerate p,t,u
This enumerates plugins, themes, and users, checking each against a vulnerability database.
Step 3: Prioritize and fix
Vulnerability reports can be overwhelming. Prioritize by severity:
Critical: Actively exploitable vulnerabilities that allow remote code execution, data theft, or complete site compromise. Fix immediately.
High: Vulnerabilities that require specific conditions to exploit but can cause significant damage. Fix within a week.
Medium: Issues that reduce security but are harder to exploit. Fix within a month.
Low/Informational: Best practice recommendations and minor issues. Address during regular maintenance.
Step 4: Scan regularly
A one-time scan is a snapshot. Vulnerabilities are discovered in software constantly. Scan your site at least monthly. Better yet, integrate scanning into your deployment pipeline so every change is checked before it goes live.
Scanning is not the same as a penetration test
Vulnerability scanning uses automated tools to check for known issues. A penetration test involves a human security professional who thinks creatively, chains vulnerabilities together, and tests business logic flaws that automated tools miss. Scanning is a baseline. Penetration testing is a deep dive. For most small and medium websites, regular scanning is sufficient. For sites handling sensitive data (financial, medical, personal), periodic professional penetration testing is worth the investment.
Common Scanning Mistakes
Scanning production without permission
If your site is hosted on shared hosting or a managed platform, check your provider's terms of service before running aggressive scans. Some providers flag vulnerability scanning as malicious activity and may suspend your account.
Ignoring false positives
Scanners sometimes flag issues that are not actually exploitable in your specific configuration. Investigate findings before panicking. But do not use "probably a false positive" as an excuse to ignore everything.
Only scanning the homepage
Vulnerabilities can exist on any page. Scan your entire site, including admin pages, forms, APIs, and dynamic content. Configure the scanner to crawl thoroughly.
Not scanning after changes
Every software update, new plugin, or configuration change can introduce new vulnerabilities. Scan after significant changes, not just on a schedule.
Not acting on results
A vulnerability report sitting in an inbox is not security. The value of scanning comes from fixing what it finds. If you do not have the capacity to fix issues, prioritize the critical ones and plan the rest into your maintenance schedule.
Summary
Vulnerability scanning automatically tests your website for known security weaknesses: outdated software, injection flaws, misconfigurations, and SSL issues. Start with free external scanners for a baseline, then use more comprehensive tools for deeper testing. Prioritize fixes by severity, scan regularly (at least monthly), and act on the results. Scanning is not a replacement for secure development practices, but it catches the issues that automated attackers find first.
Monitor your site continuously
Site Watcher monitors uptime, SSL, domain, DNS, and vendor dependencies. The first line of defense for your website's health. $39/mo unlimited. Free for up to 3 targets.