loading
loading
Utilities
Spider a URL and return a wordlist for password crackers.
overview
CeWL spiders a URL to a set depth and emits words found on the pages as a cracking wordlist. Product names, jargon, and employee terms beat a generic dictionary for one organization.
Set -d for crawl depth, --min_word_length to drop short tokens, --email and --meta for addresses and document authors, and leave --offsite off unless you mean to leave the host.
Run early to seed a target-specific list, then pass it to a cracker or fuzzer. For endpoints instead of words, use katana. Trickest runs CeWL as a managed node with file and folder output.
source github.com/digininja/CeWL
use cases
Spider a company site to harvest its own terminology, then feed the list to a cracker so guesses match the words employees reuse in passwords.
Enable --email and --meta to pull addresses and document author data alongside the wordlist, useful for OSINT and username generation.
Supply basic or digest credentials so CeWL reaches words on pages behind a login, where the richer internal vocabulary tends to live.
Pass the generated wordlist into a content or parameter fuzzer so brute-force guesses draw on terms the target itself exposes.
reference
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | The site to spider (passed as the positional target URL). |
| depth | STRING | -d | Depth to spider to (default 2). |
| min-word-length | STRING | --min_word_length | Minimum word length to keep (default 3). |
| count | BOOLEAN | --count | Show the count for each word found. |
| with-numbers | BOOLEAN | --with-numbers | Accept words containing numbers, not only letters. |
| BOOLEAN | Include email addresses found while crawling. | ||
| meta | BOOLEAN | --meta | Include document metadata in the results. |
| offsite | BOOLEAN | --offsite | Let the spider visit sites beyond the target. |
Showing key inputs. cewl exposes 25 inputs in total.
| Name | Type | Flag | Description |
|---|---|---|---|
| url | STRING | · | The site to spider (passed as the positional target URL). |
| depth | STRING | -d | Depth to spider to (default 2). |
| min-word-length | STRING | --min_word_length | Minimum word length to keep (default 3). |
| max-word-length | STRING | --max_word_length | Maximum word length (default unset). |
| count | BOOLEAN | --count | Show the count for each word found. |
| with-numbers | BOOLEAN | --with-numbers | Accept words containing numbers, not only letters. |
| lowercase | BOOLEAN | --lowercase | Lowercase all parsed words. |
| groups | BOOLEAN | --groups | Return groups of words as well as single words. |
| BOOLEAN | Include email addresses found while crawling. | ||
| meta | BOOLEAN | --meta | Include document metadata in the results. |
| offsite | BOOLEAN | --offsite | Let the spider visit sites beyond the target. |
| allowed | STRING | --allowed | Regex pattern a path must match to be followed. |
| exclude | FILE | --exclude | File listing paths to exclude from the crawl. |
| header | STRING | --header | Extra header in name:value form; can be passed multiple times. |
| user-agent | STRING | --ua | User agent string to send with requests. |
| auth-type | STRING | --auth_type | Authentication type: digest or basic. |
| auth-user | STRING | --auth_user | Authentication username for pages behind a login. |
| auth-pass | STRING | --auth_pass | Authentication password. |
| proxy-host | STRING | --proxy_host | Proxy host to route requests through. |
| proxy-port | STRING | --proxy_port | Proxy port (default 8080). |
| proxy-username | STRING | --proxy_username | Username for the proxy, if required. |
| proxy-password | STRING | --proxy_password | Password for the proxy, if required. |
| convert-umlauts | BOOLEAN | --convert-umlauts | Convert common Latin-1 umlauts (ä to ae, ö to oe, ü to ue, ß to ss). |
| verbose | BOOLEAN | --verbose | Verbose output. |
| debug | BOOLEAN | --debug | Print extra debug information. |
example
# spider example.com to depth 2, keep words 5+ chars, show counts, allow digitscewl -d 2 --min_word_length 5 --count --with-numbers https://example.com > wordlist.txtexample, 318security, 205platform, 154research, 132engineering, 118automation, 96credentials, 74workflow, 61onboarding, 47guidance
Reach for CeWL when a target's own vocabulary will beat a generic dictionary, such as cracking credentials at one organization. Skip it for a static reusable wordlist with nothing to crawl. For links and endpoints rather than raw words, use katana.
Crawls for endpoints and links, not words. Use it to map an app; use CeWL to harvest vocabulary.
Fast web spider for URLs. CeWL is purpose-built to emit a wordlist for cracking.
Cleans and normalizes a list. Run it after CeWL to tidy the harvested words.
faq
related
Wordlist and mined-word subdomain permutation.
CSS selectors over HTML, the jq counterpart for markup.
Extract chosen URL parts from stdin into clean line lists.
Import, export, and upsert workflow data against an Airtable base.
Decode Android APK files into smali sources and resources.
Check a file's values against conditions and exit with a matching code.
A target URL feeds CeWL, which spiders the site, collects its words, and writes a target-specific wordlist ready for cracking or fuzzing.
Facts on this page come from the live Trickest tool library.