Dirmap
中文
An advanced web directory scanning tool that will be more powerful than DirBuster, Dirsearch, cansina, and Yu Jian

Demand analysis
After a lot of research, summarizing an excellent web directory scanning tool has at least the following features:
- Concurrency engine
- Can use the dictionary
- Can be purely blasted
- Can crawl the page dynamically to generate a dictionary
- Can fuzz scan
- Custom request
- Custom response processing...
Then take a look at the features of Dirmap.
Features
- Support n target*n payload concurrent
- Support recursive scanning
- Support custom status codes that require recursive scanning
- Support (single | multi) dictionary scan
- Support custom character set blasting
- Support crawler dynamic dictionary scanning
- Support custom label fuzz target url
- Custom Request User-Agent
- Custom request random delay
- Custom request timeout
- Custom Request Broker
- Custom Regular Expressions Match False 404 Pages
- Customize the response status code to process
- Customize skipping pages of size x
- Custom display content-type
- Customize the display page size
- Save the results by domain name and remove duplicates
Introduction
Environment and download
git clone https://github.com/H4ckForJob/dirmap.git && cd dirmap && python3 -m pip install -r requirement.txt
Quick use
Single target, default is http
python3 dirmap.py -i https://target.com -lcf
python3 dirmap.py -i 192.168.1.1 -lcf
Subnet(CIDR format)
python3 dirmap.py -i 192.168.1.0/24 -lcf
Network range
python3 dirmap.py -i 192.168.1.1-192.168.1.100 -lcf
Read from file
python3 dirmap.py -iF targets.txt -lcf
The above format is supported in targets.txt
Result save
- The result will be automatically saved in the
output folder in the project root directory.
- Each target generates a txt with the naming format
domain/ip.txt
- The result is automatically deduplicated
Advanced
Customize the dirmap configuration and start exploring dirmap advanced features
Temporarily configure the configuration file by loading the configuration file. ** It is not supported to use the command line parameters for detailed configuration**!
Edit dirmap.conf in the root directory of the project to configure it.Detailed instructions for use in dirmap.conf
TODO
Default dictionary
The dictionary file is stored in the data folder in the project root directory.
- dict_mode_dict.txt "dictionary mode" dictionary, using
dirsearch default dictionary
- crawl_mode_suffix.txt "crawler mode" dictionary, using the
FileSensor default dictionary
- fuzz_mode_dir.txt "fuzz mode" dictionary, using the
DirBuster default dictionary
- fuzz_mode_ext.txt "fuzz mode" dictionary, a dictionary made with common suffixes
- dictmult This directory is the "dictionary mode" default multi-dictionary folder, including: BAK.min.txt (backup file small dictionary), BAK.txt (backup file large dictionary), LEAKS.txt (information leak file dictionary)
- fuzzmult This directory is the default multi-dictionary folder of "fuzz mode", including: fuzz_mode_dir.txt (default directory dictionary), fuzz_mode_ext.txt (default suffix dictionary)
Known bug
- "crawler mode" only crawls the current page of the target and is used to generate a dynamic dictionary. The project will separate the "crawler module" from the "generate dynamic dictionary function" in the future.
- About bruter.py line 517
bar.log.start() error. Solution: Please install progressbar2. Uninstall the progressbar. Prevent the import of modules of the same name. Thanks to a brother for reminding.
python3 -m pip uninstall progressbar
python3 -m pip install progressbar2
Maintenance
- If there is a problem during use, please feel free to issue an issue.
- The project is under maintenance and new features will be added in the future. Please refer to the “TODO” list for details.
Acknowledgement
In the process of writing dirmap, I borrowed a lot of models and ideas from excellent open source projects. I would like to express my gratitude.
mail: [email protected]
