Skip to main content
AutoPentestX includes powerful web vulnerability scanning capabilities through Nikto and SQLMap integration. This guide explains how these tools work and how to interpret their findings.

Web Service Detection

AutoPentestX automatically detects web services during the port scanning phase:
Terminal Output

Detection Logic

From modules/vuln_scanner.py:26-43, AutoPentestX identifies web services by:
  1. Common Web Ports: 80, 443, 8080, 8443, 8000, 8888, 3000, 5000
  2. Service Names: http, https, ssl/http, http-proxy, http-alt
  3. Protocol Detection: Automatically selects HTTP or HTTPS based on port and service info
Web scanning is skipped when using the --skip-web flag, reducing scan time by 50-70%.

Nikto Web Scanner

Nikto performs comprehensive web server and application vulnerability scanning.

What Nikto Scans For

  • Outdated server versions
  • Dangerous HTTP methods enabled (PUT, DELETE, TRACE)
  • Default files and scripts
  • Insecure headers
  • Missing security headers (X-Frame-Options, CSP, etc.)
  • Known CVEs for detected software
  • Directory traversal issues
  • Cross-Site Scripting (XSS) indicators
  • Information disclosure
  • Authentication bypass methods
  • Administrative interfaces
  • Backup files (.bak, .old, .tar.gz)
  • Configuration files
  • Database dumps
  • Source code files
  • Weak cipher suites
  • Expired certificates
  • Self-signed certificates
  • Protocol vulnerabilities

Nikto Scan Execution

Nikto runs with these parameters (from modules/vuln_scanner.py:57-64):
Nikto Command
Parameter Breakdown:
  • -h: Target URL
  • -Format json: Output in JSON format for parsing
  • -Tuning 123456789: Enable all test categories
  • -timeout 10: 10-second timeout per request

Sample Nikto Output

Terminal Output

Understanding Nikto Findings

Nikto results are categorized by severity:
Immediate Action Required
  • Exposed admin interfaces without authentication
  • Directory traversal vulnerabilities
  • Known CVEs with public exploits
  • Default credentials accepted
Example:

SQLMap Injection Scanner

SQLMap automatically detects and exploits SQL injection vulnerabilities.

How SQLMap Works

AutoPentestX runs SQLMap with safe, fast parameters (from modules/vuln_scanner.py:141-152):
SQLMap Command
Parameter Breakdown:
  • -u: Target URL
  • --batch: Non-interactive mode (auto-accept defaults)
  • --crawl=2: Automatically crawl and test 2 levels deep
  • --level=1: Test level (1=basic, 5=comprehensive)
  • --risk=1: Risk level (1=safe, 3=may cause damage)
  • --random-agent: Randomize User-Agent header
  • --timeout=30: 30-second timeout per request
  • --threads=3: Use 3 concurrent threads
SQLMap is configured with --risk=1 to prevent destructive queries. It will NOT attempt UPDATE, DELETE, or DROP statements.

SQL Injection Types Detected

Boolean-based Blind

Exploits true/false responses to extract data one bit at a time.

Time-based Blind

Uses database delays to infer information.

Error-based

Triggers database errors that leak information.

UNION Query-based

Appends UNION SELECT to retrieve arbitrary data.

Sample SQLMap Output

Terminal Output

Understanding SQLMap Results

1

Identify Vulnerable Parameters

SQLMap lists all injectable parameters:
Location matters:
  • GET: URL parameters
  • POST: Form data
  • Cookie: Cookie values
  • Header: HTTP headers
2

Review Injection Types

Each parameter shows which injection techniques work:
More types = Higher exploitability
3

Check Database Detection

SQLMap identifies the backend database:
This information helps prioritize remediation.
4

Risk Assessment

SQL injection is ALWAYS HIGH SEVERITY:
  • Can extract entire database
  • May allow authentication bypass
  • Could enable remote code execution
  • Enables data manipulation

Web Vulnerability Storage

All web vulnerabilities are stored in the SQLite database:

Database Schema

Query Web Findings

View All Web Vulnerabilities
Filter SQL Injection Only

Skipping Web Scans

Use --skip-web to disable Nikto and SQLMap:
When to Skip:
  • ✅ Target has no web services
  • ✅ Time-constrained scans
  • ✅ Network infrastructure testing only
  • ✅ Non-web application assessment
Console Output:
Impact:
  • Reduces scan time by 10-15 minutes
  • Report will show 0 web vulnerabilities
  • No Nikto logs generated
  • No SQLMap results

Manual Web Testing

After AutoPentestX identifies web services, you can perform manual testing:

Run Nikto Manually

Full Nikto Scan

Run SQLMap Manually

Deep SQLMap Scan
--risk=3 may execute destructive queries. Only use in authorized lab environments.

Test Specific Parameters

POST Parameter Testing

Interpreting PDF Report Findings

Web vulnerabilities appear in multiple report sections:

Executive Summary

Vulnerabilities Table

Recommendations

HIGH Priority:
  • ✅ Remediate SQL injection in parameter ‘id’
  • ✅ Implement parameterized queries
  • ✅ Add input validation and sanitization
MEDIUM Priority:
  • ✅ Add security headers (X-Frame-Options, CSP, HSTS)
  • ✅ Update Apache to latest version
  • ✅ Disable directory listing

Next Steps

Exploitation

Learn how AutoPentestX matches exploits to vulnerabilities

Report Analysis

Deep dive into PDF report structure and recommendations