Aller au contenu

SecLists

SecLists is an essential collection of multiple types of lists used during security assessments. It contains wordlists for fuzzing, password attacks, directory discovery, and payload injection across a wide variety of security testing scenarios.

sudo apt install seclists
cd ~/tools
git clone https://github.com/danielmiessler/SecLists.git
cd SecLists
/usr/share/seclists/
DirectoryPurpose
Discovery/Wordlists for discovering resources (web, DNS, infrastructure)
Fuzzing/Payloads for fuzzing web applications and APIs
Passwords/Common and leaked password lists
Payloads/Injection payloads (SQLi, XSS, command injection, etc.)
Pattern-Matching/Regex patterns and signatures for identification
Usernames/Common usernames and account names
Web-Shells/Backdoor shells and webshell code
# Common directories (14K+ entries)
/usr/share/seclists/Discovery/Web-Content/common.txt

# Directory list 2.3 medium (220K+ entries)
/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

# RAFT medium directories (63K+ entries)
/usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt

# Huge directory list (1.4M+ entries)
/usr/share/seclists/Discovery/Web-Content/big.txt
# Top 5K subdomains
/usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt

# Top 110K subdomains
/usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt

# BitQuark top 100K subdomains
/usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt
# Common router/device IP addresses
/usr/share/seclists/Discovery/Infrastructure/common-router-ips.txt
# 10K most common passwords
/usr/share/seclists/Passwords/Common-Credentials/10k-most-common.txt

# Top 100K from 10M password list
/usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-100000.txt

# Best 1050 passwords
/usr/share/seclists/Passwords/Common-Credentials/best1050.txt
# RockYou (14M+ passwords) - Install separately if needed
# Download from external sources due to size

# Location when installed
/usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt
# Common default credentials for routers, devices
/usr/share/seclists/Passwords/Default-Credentials/
/usr/share/seclists/Fuzzing/LFI/LFI-Jhaddix.txt
/usr/share/seclists/Fuzzing/SQLi/Generic-SQLi.txt
/usr/share/seclists/Fuzzing/SQLi/SQLMap.txt
/usr/share/seclists/Fuzzing/XSS/XSS-BruteLogic.txt
/usr/share/seclists/Fuzzing/XSS/Jhaddix.txt
/usr/share/seclists/Fuzzing/command-injection/
# Xato.net 10 million usernames
/usr/share/seclists/Usernames/xato-net-10-million-usernames.txt

# Short username list
/usr/share/seclists/Usernames/top-usernames-shortlist.txt
# First and last names for targeting
/usr/share/seclists/Usernames/Names/
# Payloads organized by injection type
/usr/share/seclists/Payloads/

# Common directories:
# - api-endpoints/ - API testing payloads
# - burp-parameter-names/ - Common parameter names
# - xss/ - XSS payloads
# - xxe/ - XML External Entity payloads
# - ldap-injection/ - LDAP injection payloads
# Directory discovery
ffuf -u http://target.com/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common.txt

# Subdomain enumeration
ffuf -u https://FUZZ.target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt

# Parameter fuzzing
ffuf -u http://target.com/api/users?FUZZ=value -w /usr/share/seclists/Payloads/burp-parameter-names/common.txt
# Directory enumeration
gobuster dir -u http://target.com -w /usr/share/seclists/Discovery/Web-Content/common.txt

# DNS subdomain enumeration
gobuster dns -d target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt
# Recursive directory discovery
feroxbuster -u http://target.com -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt -x php,txt
# Load SecLists wordlists into Burp Intruder
# Set payload type to "Simple list"
# Copy-paste content from desired list file
# Use for parameter fuzzing, SQL injection testing
# Web application fuzzing
wfuzz -u http://target.com/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common.txt --hc 404

# Parameter fuzzing
wfuzz -u http://target.com/page?param=FUZZ -w /usr/share/seclists/Payloads/Fuzzing/XSS/XSS-BruteLogic.txt
# SSH password attack
hydra -l admin -P /usr/share/seclists/Passwords/Common-Credentials/10k-most-common.txt ssh://target.com

# HTTP basic auth
hydra -l admin -P /usr/share/seclists/Passwords/Common-Credentials/best1050.txt target.com http-basic /admin
# Dictionary attack
hashcat -m 1400 hashes.txt /usr/share/seclists/Passwords/Common-Credentials/10-million-password-list-top-100000.txt

# Hybrid attack (wordlist + rules)
hashcat -m 1400 hashes.txt -w /usr/share/seclists/Passwords/Common-Credentials/best1050.txt -r rules.txt
# Use SecLists payloads in custom Nuclei templates
# Reference wordlist paths in template YAML files
# Example: Fuzzing/ payloads for XSS/SQLi detection
TaskListSizeBest For
Quick directory scancommon.txt14KSpeed, common paths
Thorough directory scandirectory-list-2.3-medium.txt220KComprehensive coverage
Subdomain enumerationsubdomains-top1million-5000.txt5KSpeed, top targets
Extensive subdomain searchbitquark-subdomains-top100000.txt100K+Deep reconnaissance
Password guessing (fast)best1050.txt1KCommon passwords quickly
Password cracking (thorough)10-million-password-list-top-100000.txt100KHashcat, offline attacks
Username enumerationtop-usernames-shortlist.txtSmallQuick user discovery
Payload injection testingXSS-BruteLogic.txtVariedWeb app fuzzing
# Merge lists
cat list1.txt list2.txt list3.txt > combined.txt

# Combine and deduplicate
cat list1.txt list2.txt list3.txt | sort -u > combined.txt
# Remove duplicate entries
sort -u wordlist.txt -o wordlist.txt
# Filter by length (4-12 characters)
awk 'length($0) >= 4 && length($0) <= 12' wordlist.txt > filtered.txt

# Remove comments
grep -v '^#' wordlist.txt > filtered.txt

# Filter by pattern
grep '^[a-z]*$' wordlist.txt > lowercase_only.txt
# Sort alphabetically
sort wordlist.txt -o wordlist.txt

# Sort by frequency (with counts)
sort | uniq -c | sort -rn wordlist.txt
# Extract lines matching pattern
grep -E '\.php|\.asp|\.jsp' /usr/share/seclists/Discovery/Web-Content/big.txt > web-extensions.txt

# Keep only entries up to specific length
awk 'length <= 15' wordlist.txt > short-entries.txt

Missing Lists

# Check installed location
ls -la /usr/share/seclists/

# If empty, reinstall
sudo apt reinstall seclists

# Or clone from GitHub
git clone https://github.com/danielmiessler/SecLists.git

File Not Found in Expected Path

# Search for specific list
find /usr/share/seclists -name "common.txt"

# Or search your local clone
find ~/tools/SecLists -name "*common*"

Permission Denied

# Ensure readable permissions
sudo chmod -R 644 /usr/share/seclists/
sudo chmod -R 755 /usr/share/seclists/*/

Tools Not Finding Lists

# Verify full path in tool arguments
ffuf -w /usr/share/seclists/Discovery/Web-Content/common.txt

# Or use relative path if in SecLists directory
cd ~/tools/SecLists
ffuf -w ./Discovery/Web-Content/common.txt
  1. Start Small, Expand: Begin with shorter lists (common.txt, best1050.txt) for speed, expand only if needed.

  2. Combine Multiple Lists: Mix discovery lists with different sources for better coverage without huge file sizes.

  3. Sort and Deduplicate: Remove duplicates before using lists to avoid wasted requests.

  4. Update Regularly: SecLists is actively maintained. Pull latest updates via Git:

    cd ~/tools/SecLists
    git pull origin master
  5. Use Appropriate Payloads: Match payload type to target vulnerability (XSS payloads for XSS testing, SQLi payloads for SQLi).

  6. Filter by Extension: When targeting specific file types, create filtered lists:

    grep -E '\.(php|asp|jsp|html|txt)$' directory-list-2.3-medium.txt > web-files.txt
  7. Consider Response Codes: Configure tools to filter common responses (404, 403) to reduce noise.

  8. Test in Lab First: Validate lists and settings in controlled environments before targeting production.

  9. Respect Rate Limits: Use tool delays (-p in ffuf, --delay in Burp) to avoid overwhelming targets.

  10. Document Your Wordlists: Track which lists were used for each assessment for reporting.

ToolPurposeIntegration
CeWLGenerate custom wordlists from websitesCombine with SecLists
CrunchCreate custom character-based wordlistsSupplement SecLists
MentalistGUI tool for wordlist generationAlternative to manual creation
WeakpassPassword dataset downloadsSupplement password lists
PayloadsAllTheThingsComprehensive exploitation payloadsExpand Payloads/ collection
Common RegexPattern matching libraryCustom SecLists filtering
  • GitHub Repository: github.com/danielmiessler/SecLists
  • Documentation: Full list descriptions and update history in repository README
  • Issue Tracker: Report missing lists or suggest additions on GitHub
  • License: MIT - Free for personal and commercial use