作者:xboy@Timeline Sec
一款自动化过滤扫描结果的目录扫描工具
项目地址:https://github.com/chasingboy/dirsx
01 前言
当时正值华为发布遥遥领先, 加上“遥遥领先”只是开个玩笑, 大佬们见笑了
平时使用过 dirsearch|dirmap 等一些目录扫描工具,针对如今的 WEB 多样化,对扫描结果的过滤总感觉不符合预期。因此下定决心造个轮子,就这样有了 dirsx。当时是使用 python 写的,但是可移植性不是很好。所以使用 golang 进行重构,顺便学习一下 golang。
02 功能
大部分功能其他工具都有, 只是根据个人习惯更改
-
使用 html 相似度对结果进行过滤 -
对 301、302、403 状态进行二次判断 -
对 json 返回结果进行判断 -
字典第一个字母大写|全部字母大写|添加前后缀 -
返回页面 title, 如无 title 返回内容前面 30 个字符串 (默认|设置) -
自动过滤模式,默认开启 (开启|关闭)
03 基本使用
指定字典进行扫描
dirsx -u https://www.baidu.com -w words.txt
指定目录递归扫描, 目前暂无添加结果递归功能扫描,担心目录误报
dirsx -u https://www.baidu.com -w words.txt --split
# https://www.baidu.com/a/b/
# -> https://www.baidu.com/a/
# -> https://www.baidu.com/a/b/
指定备份文件进行扫描
dirsx -u https://www.baidu.com -w words.txt --bak
指定添加后缀进行扫描
dirsx -u https://www.baidu.com -w words.txt --suffix h5
# https://www.baidu.com/admin
# -> https://www.baidu.com/adminh5
内置一些常用字典选择, 在没有指定字典时显示该列表
-
常见目录字典 -
dirsearch 的自带字典 -
长度为 1-5 的字母组合 -
... ...
~ kali$ dirsx -u http://127.0.0.1/
██████╗ ██╗██████╗ ███████╗██╗ ██╗
██╔══██╗██║██╔══██╗██╔════╝╚██╗██╔╝
██║ ██║██║██████╔╝███████╗ ╚███╔╝
██║ ██║██║██╔══██╗╚════██║ ██╔██╗
██████╔╝██║██║ ██║███████║██╔╝ ██╗
╚═════╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
1.1.0
xboy@遥遥领先
[+] You have not appoint payloads, so you can select from the list:
[0] fuzzing-dirs-common.txt
[1] fuzzing-dirs-dirsearch.txt
[2] fuzzing-files-php.txt
[3] fuzzing-letter-len1.txt
[4] fuzzing-letter-len2.txt
[5] fuzzing-letter-len3.txt
[6] fuzzing-letter-len4.txt
... ...
[+] Select payloads with number: 1
dirsx -h
~ kali$ dirsx -h
██████╗ ██╗██████╗ ███████╗██╗ ██╗
██╔══██╗██║██╔══██╗██╔════╝╚██╗██╔╝
██║ ██║██║██████╔╝███████╗ ╚███╔╝
██║ ██║██║██╔══██╗╚════██║ ██╔██╗
██████╔╝██║██║ ██║███████║██╔╝ ██╗
╚═════╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
1.1.0
xboy@遥遥领先
Usage:
dirsx [OPTIONS]
Application Options:
-u, --url= input url of target
-l, --list= input file containing list of target
-w, --wordlist= appoint wordlist for scanning directory
--title-len= set title display length (default: 30)
-t, --threads= number of threads to use (default: 20)
--timeout= timeout in seconds (default: 5)
-o, --output= file to write output results
--prefix= add prefix of payloads
--suffix= add suffix of payloads
-e, --extension= add extension eg: -e php,html
--remove-ext= remove extension eg: --remove-ext php | admin.php -> admin
--upper-title capitalize the first letter eg: admin -> Admin
--upper-all capitalize the all letter eg: admin -> ADMIN
--bak enable scanning backup file (default:false)
--split enable spliting the url path, eg: /a/b -> /a/, /a/b (default: false)
-X= method of http requests (default: GET)
-x, --excode= specify the status codes that be filtered eg: 400,404 (default: 400,404,406,416,501,502,503)
--no-smart disable smart mode (automated filtering)
Help Options:
-h, --help Show this help message
04 特别感谢
chainreactors@ https://github.com/chainreactors/spray
maurosoria@ https://github.com/maurosoria/dirsearch
原文始发于微信公众号(Timeline Sec):工具 | 一款自动化过滤扫描结果的目录扫描工具dirsx
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论