Web Service Detection
AutoPentestX automatically detects web services during the port scanning phase:Terminal Output
Detection Logic
Frommodules/vuln_scanner.py:26-43, AutoPentestX identifies web services by:
- Common Web Ports: 80, 443, 8080, 8443, 8000, 8888, 3000, 5000
- Service Names: http, https, ssl/http, http-proxy, http-alt
- 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
Server Configuration Issues
Server Configuration Issues
- Outdated server versions
- Dangerous HTTP methods enabled (PUT, DELETE, TRACE)
- Default files and scripts
- Insecure headers
- Missing security headers (X-Frame-Options, CSP, etc.)
Common Vulnerabilities
Common Vulnerabilities
- Known CVEs for detected software
- Directory traversal issues
- Cross-Site Scripting (XSS) indicators
- Information disclosure
- Authentication bypass methods
Dangerous Files & Directories
Dangerous Files & Directories
- Administrative interfaces
- Backup files (.bak, .old, .tar.gz)
- Configuration files
- Database dumps
- Source code files
SSL/TLS Security
SSL/TLS Security
- Weak cipher suites
- Expired certificates
- Self-signed certificates
- Protocol vulnerabilities
Nikto Scan Execution
Nikto runs with these parameters (frommodules/vuln_scanner.py:57-64):
Nikto Command
-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:- High Severity
- Medium Severity
- Low/Info
Immediate Action Required
- Exposed admin interfaces without authentication
- Directory traversal vulnerabilities
- Known CVEs with public exploits
- Default credentials accepted
SQLMap Injection Scanner
SQLMap automatically detects and exploits SQL injection vulnerabilities.How SQLMap Works
AutoPentestX runs SQLMap with safe, fast parameters (frommodules/vuln_scanner.py:141-152):
SQLMap Command
-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
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
Identify Vulnerable Parameters
SQLMap lists all injectable parameters:Location matters:
- GET: URL parameters
- POST: Form data
- Cookie: Cookie values
- Header: HTTP headers
Review Injection Types
Each parameter shows which injection techniques work:More types = Higher exploitability
Check Database Detection
SQLMap identifies the backend database:This information helps prioritize remediation.
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:
- ✅ Target has no web services
- ✅ Time-constrained scans
- ✅ Network infrastructure testing only
- ✅ Non-web application assessment
- 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
Test Specific Parameters
POST Parameter Testing
Interpreting PDF Report Findings
Web vulnerabilities appear in multiple report sections:Executive Summary
Vulnerabilities Table
| Port | Vulnerability | Severity | CVE ID |
|---|---|---|---|
| 80 | SQL Injection - parameter ‘id’ | HIGH | N/A |
| 80 | Missing X-Frame-Options header | MEDIUM | N/A |
| 443 | Outdated Apache 2.4.41 | MEDIUM | CVE-2021-44790 |
Recommendations
HIGH Priority:- ✅ Remediate SQL injection in parameter ‘id’
- ✅ Implement parameterized queries
- ✅ Add input validation and sanitization
- ✅ 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