
Ein Tool zum Generieren und Verwalten von Wortlisten für Web-Fuzzing.
Dicozorus ist ein Tool zur Generierung und Pflege von Web-Wortlisten.
Es beseitigt den Aufwand für die Verwaltung mehrerer Wortlisten, indem Pfade, angereichert mit Metadaten, in einer lokalen SQLite-Datenbank gespeichert werden.
Du willst einfach nur eine großartige Wortliste ohne das Tool? Überspringe die Einrichtung und nutze lazy.txt.
Standard-Wortlisten haben oft Probleme wie fehlende Einträge, fehlende relevante Sortierung, ungeeignete Größe oder Junk-Einträge.
Dicozorus löst diese Probleme, indem Einträge mit angereicherten Metadaten verknüpft werden. Das ermöglicht:
$ pipx install git+https://github.com/synacktiv/dicozorus/
Dicozorus speichert Daten lokal in einer SQLite-Datenbank unter $HOME/.dicozorus/db.sqlite. Jeder Eintrag erfasst die folgenden Attribute:
| Feld | Beschreibung |
|---|---|
| path | Der Endpunktname (z. B. jmx-console/ oder app-dev.php). |
| type | Strukturelle Klassifizierung: FILE, DIRECTORY oder PATH. |
| criticality | Prioritätsstufe: CRITICAL, HIGH, MEDIUM, LOW, INFO, UNRANKED. |
| count | Wie oft diese spezifische URL in die Datenbank eingespeist wurde. |
| category | Art der zugehörigen Schwachstelle (z. B. RCE, ADMIN_INTERFACE oder KNOWN_APP) |
| tag | Kontextuelle Tags zur Technologiefilterung (z. B. PHP, JAVA, LINUX). |
| reference | Ein optionaler Link zu einer zugehörigen Schwachstelle, einem Advisory oder einer Dokumentation bekannter Endpunkte. |
Für mehr Komfort ist Dicozorus mit integrierten Wortlisten ausgestattet. Die in diesen Wortlisten enthaltenen Einträge stammen aus verschiedenen Quellen:
dirsearch, bo0om, Seclist, nuclei usw.)
| Name | Beschreibung |
|---|---|
| critical.wordlist | Nur CRITICAL-Einträge |
| high.wordlist | Nur HIGH-Einträge |
| medium.wordlist | Nur MEDIUM-Einträge |
| low.wordlist | Nur LOW-Einträge |
| info.wordlist | Nur INFO-Einträge |
| unranked.wordlist | Einträge ohne zugeordnete Kritikalität |
| bo0om.wordlist | Einträge aus der BoOoM-Wortliste ohne zugeordnete Kritikalität |
| dirsearch.wordlist | Einträge aus der dirsearch-Wortliste ohne zugeordnete Kritikalität |
| exploitdb.wordlist | Einträge aus ExploitDB ohne zugeordnete Kritikalität |
| hackerone.wordlist | Einträge aus öffentlichen HackerOne-Berichten ohne zugeordnete Kritikalität |
| seen.wordlist | Einträge, die hier und da gesehen wurden, ohne zugeordnete Kritikalität |
| dangerous.wordlist | Gefährliche Einträge wie /shutdown oder reboot |
Jedes Mal, wenn eine Änderung an den integrierten Wortlisten vorgenommen wird, wird lazy.txt generiert. Es enthält alle integrierten Einträge außer den gefährlichen, sortiert nach Kritikalität und Anzahl.
$ dicozorus
usage: dicozorus [-h] [-v] [--version] {feed,gen,init,modify,stats,check} ...
Dicozorus allows to generate custom wordlists. It can be fed with wordlists from your own or initialized using a predefined set of wordlists. Entries are
stored in a sqlite database located in $HOME/.dicozorus/db.sqlite
positional arguments:
{feed,gen,init,modify,stats,check}
Subcommand to run
feed Feed dicozorus db with wordlist files or scan results
gen Generate wordlist using the dicozorus db.
init Initialize the dicozorus database.
modify Modify dicozorus DB directly. Use it to add / remove / update one or multiple entries.
stats Show stats about the dicozorus database.
check The check command is used to compare entry or wordlists with the dicozorus database
options:
-h, --help show this help message and exit
-v, --verbose increase verbosity
--version show program's version number and exit
$ dicozorus init -F -W wordlists/
[+] Initializing dicozorus database
[+] Creating dicozorus tables
[+] Parsing dicozorus CSV file wordlists/low.wordlist
[+] Parsing dicozorus CSV file wordlists/unranked.wordlist
[+] Parsing dicozorus CSV file wordlists/hackerone.wordlist
[+] Parsing dicozorus CSV file wordlists/medium.wordlist
[+] Parsing dicozorus CSV file wordlists/exploitdb.wordlist
[+] Parsing dicozorus CSV file wordlists/critical.wordlist
[+] Parsing dicozorus CSV file wordlists/high.wordlist
[+] Parsing dicozorus CSV file wordlists/bo0om.wordlist
[+] Parsing dicozorus CSV file wordlists/seen.wordlist
[+] Parsing dicozorus CSV file wordlists/info.wordlist
[+] Parsing dicozorus CSV file wordlists/dirsearch.wordlist
$ dicozorus feed -w fuzz.txt
[+] Parsing wordlist fuzz.txt
$ dicozorus gen -m 5
app_dev.php
actuator/jolokia
jolokia
bitrix/admin/php_command_line.php
jenkins/script
$ dicozorus check -e '_fragment'
_fragment [type: FILE, criticality: CRITICAL, count: 2, category: RCE, taglist: ['PHP', 'Bo0oM'], reference: https://www.ambionics.io/blog/symfony-secret-fragment]
$ dicozorus stats
[+] Total count: 22376
[+] Entry count by criticality:
Critical: 344
High: 697
Medium: 668
Low: 1168
Info: 4262
Unranked: 15237
[+] Entry count by type:
FILE: 12583
DIRECTORY: 3449
PATH: 6344
[+] Entry count by category:
UNCATEGORIZED: 19499
KNOWN_APP: 871
RCE: 335
INFO_LEAK: 280
[...]
Wenn du Einträge zu den Kernlisten beitragen oder benutzerdefinierte Eingaben nativ parsen möchtest, verwende die folgende Struktur mit in Anführungszeichen gesetzten, kommagetrennten Werten (CSV):
## path, criticality, count, category, tags, reference
"actions/authenticate.php","CRITICAL","1","RCE","PHP","https://nvd.nist.gov/vuln/detail/CVE-2020-35729"