SQLmap-GUI

Fingerprint Tab - Database Type Identification and Version Detection

The Fingerprint tab controls how SQLmap identifies the database management system (DBMS) type, version, and specific features, which is crucial for tailoring subsequent attacks and enumeration.

📋 Overview

The Fingerprint tab contains three main sections:

  1. Basic Fingerprinting - DBMS type identification
  2. Version Detection - Detailed version information
  3. Advanced Fingerprinting - Feature and capability detection

🔍 Basic Fingerprinting Options

Fingerprint DBMS

Parameter: --fingerprint Description: Fingerprint the DBMS type and version Output: Detailed DBMS identification Examples:

[INFO] the back-end DBMS is MySQL
[INFO] the back-end DBMS operating system is Linux
[INFO] the back-end DBMS version is 5.7.32

Use Cases:

Parameter: --banner Description: Retrieve DBMS banner/version Output: Raw version string from database Examples:

MySQL 5.7.32
PostgreSQL 12.3
Microsoft SQL Server 2019
Oracle Database 19c

Use Cases:

Current User

Parameter: --current-user Description: Retrieve current database user Output: Username of the database connection Examples:

root@localhost
postgres
sa
system

Use Cases:

Current Database

Parameter: --current-db Description: Retrieve current database name Output: Name of the active database Examples:

mysql
postgres
master
orcl

Use Cases:

📊 Version and Feature Detection

Check for DBMS Version

Parameter: --check-version Description: Check if DBMS version is vulnerable Behavior: Compares version against known vulnerabilities Output: Vulnerability status and details Use Cases:

Enumerate DBMS Version

Parameter: --version Description: Retrieve detailed version information Output: Comprehensive version details Examples:

MySQL 5.7.32-0ubuntu0.18.04.1
PostgreSQL 12.3 (Ubuntu 12.3-1.pgdg18.04+1)
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)

Use Cases:

Detect DBMS Features

Parameter: --check-dbms Description: Check DBMS-specific features and capabilities Output: Supported features and extensions Examples:

MySQL: InnoDB, MyISAM, MEMORY engines
PostgreSQL: PL/pgSQL, PostGIS extensions
SQL Server: CLR, Full-text search

Use Cases:

🔧 Advanced Fingerprinting Options

Force Back-end DBMS

Parameter: --dbms=DBMS Description: Force specific DBMS type Supported DBMS:

Use Cases:

Force Back-end DBMS Operating System

Parameter: --os=OS Description: Force specific operating system Options:

Use Cases:

Force Back-end DBMS Version

Parameter: --dbms-version=VERSION Description: Force specific DBMS version Examples:

--dbms-version=5.7.32
--dbms-version=12.3
--dbms-version=2019

Use Cases:

Extended Banner Grab

Parameter: --extensive-fp Description: Perform extensive fingerprinting Behavior: Uses multiple techniques for thorough identification Output: Detailed fingerprinting results Use Cases:

📝 Usage Examples

Basic DBMS Identification

Fingerprint DBMS: ✓ Enabled
Banner Grab: ✓ Enabled
Current User: ✓ Enabled
Current Database: ✓ Enabled

Generated Command:

sqlmap -u "http://example.com/page.php?id=1" --fingerprint --banner --current-user --current-db

Version Vulnerability Check

Check Version: ✓ Enabled
Enumerate Version: ✓ Enabled
Detect Features: ✓ Enabled

Generated Command:

sqlmap -u "http://example.com/admin.php?id=1" --check-version --version --check-dbms

Forced DBMS Identification

Force DBMS: MySQL
Force OS: Linux
Force Version: 5.7.32
Extensive Fingerprinting: ✓ Enabled

Generated Command:

sqlmap -u "http://example.com/db.php?id=1" --dbms=mysql --os=linux --dbms-version=5.7.32 --extensive-fp

Comprehensive Fingerprinting

Fingerprint DBMS: ✓ Enabled
Banner Grab: ✓ Enabled
Current User: ✓ Enabled
Current Database: ✓ Enabled
Check Version: ✓ Enabled
Enumerate Version: ✓ Enabled
Detect Features: ✓ Enabled
Extensive Fingerprinting: ✓ Enabled

Generated Command:

sqlmap -u "http://example.com/test.php?id=1" --fingerprint --banner --current-user --current-db --check-version --version --check-dbms --extensive-fp

⚠️ Important Considerations

Fingerprinting Strategy

Version Detection Accuracy

Performance Impact

Compatibility Issues

🔧 Troubleshooting

Auto-Detection Failing

Problem: SQLmap cannot automatically identify the DBMS Solutions:

  1. Use –extensive-fp for thorough detection
  2. Try manual testing with known payloads
  3. Check for WAF interference
  4. Use –dbms to force a specific type

Incorrect DBMS Identification

Problem: Fingerprinting identifies wrong DBMS type Solutions:

  1. Verify with manual database queries
  2. Check error messages for clues
  3. Try different injection techniques
  4. Use –dbms to override auto-detection

Version Detection Issues

Problem: Version information is incomplete or inaccurate Solutions:

  1. Use –banner for exact version string
  2. Check multiple version detection methods
  3. Verify against known application stack
  4. Consider version spoofing by the application

Feature Detection Problems

Problem: Feature detection not working properly Solutions:

  1. Check if features are actually available
  2. Verify user privileges for feature access
  3. Try different detection techniques
  4. Consult DBMS documentation for feature availability

Slow Fingerprinting

Problem: Fingerprinting process is taking too long Solutions:

  1. Disable extensive fingerprinting
  2. Use basic fingerprinting options only
  3. Limit to essential information
  4. Check network connectivity and latency

WAF Blocking Fingerprinting

Problem: Web Application Firewall blocking fingerprinting attempts Solutions:

  1. Use tamper scripts: –tamper=space2comment
  2. Reduce fingerprinting intensity
  3. Try different timing and techniques
  4. Use manual fingerprinting methods
/home/devil/Desktop/SQLmap-GUI-Advanced-SQL-Injection-Testing-Interface/docs/tabs/fingerprint.md