Web 目录爆破神器:Dirsearch 保姆级教程

一、介绍

dirsearch 是一款用于目录扫描的开源工具,旨在帮助渗透测试人员和安全研究人员发现目标网站上的隐藏目录和文件。与 dirb 类似,它使用字典文件中的单词构建 URL 路径,然后发送 HTTP 请求来检查这些路径是否存在。

以下是 dirsearch 工具的一些特点和基本用法:

特点:

  1. 多线程扫描: dirsearch 支持多线程扫描,提高目录扫描的效率。
  2. 灵活的配置: 用户可以通过配置文件自定义扫描的参数,包括使用代理、设置 User-Agent 等。
  3. 自定义报告: 支持生成自定义格式的报告,以便更好地整理和分享扫描结果。
  4. 支持多种扫描方式: 除了常规目录扫描,还支持文件扫描、扩展名扫描等多种扫描方式。

二、安装 Dirsearch

Kail Linux 下输入以下命令即可安装

apt-get install dirsearch 

三、使用 Dirsearch

用法: dirsearch.py [-u|--url] 目标 [-e|--extensions] 扩展名 [选项]

选项:
  --version             显示程序版本号并退出
  -h, --help            显示帮助信息并退出

  必填项:
    -u URL, --url=URL   目标 URL(s),可以使用多个标志
    -l PATH, --url-file=PATH
                        URL 列表文件
    --stdin             从 STDIN 读取 URL(s)
    --cidr=CIDR         目标 CIDR
    --raw=PATH          从文件加载原始 HTTP 请求(使用 '--scheme' 标志设置协议)
    -s SESSION_FILE, --session=SESSION_FILE
                        会话文件
    --config=PATH       配置文件的路径(默认使用 'DIRSEARCH_CONFIG' 环境变量,否则使用 'config.ini')

  字典设置:
    -w WORDLISTS, --wordlists=WORDLISTS
                        自定义字典(用逗号分隔)
    -e EXTENSIONS, --extensions=EXTENSIONS
                        用逗号分隔的扩展名列表(例如 php,asp)
    -f, --force-extensions
                        在每个字典条目的末尾添加扩展名。默认情况下,dirsearch 只用扩展名替换 %EXT% 关键字
    -O, --overwrite-extensions
                        使用您的扩展名(通过 `-e` 选择)覆盖字典中的其他扩展名
    --exclude-extensions=EXTENSIONS
                        用逗号分隔的扩展名列表排除(例如 asp,jsp)
    --remove-extensions
                        移除所有路径中的扩展名(例如 admin.php -> admin)
    --prefixes=PREFIXES
                        添加自定义前缀到所有字典条目(用逗号分隔)
    --suffixes=SUFFIXES
                        添加自定义后缀到所有字典条目,忽略目录(用逗号分隔)
    -U, --uppercase     字典转为大写
    -L, --lowercase     字典转为小写
    -C, --capital       字典首字母大写

  通用设置:
    -t THREADS, --threads=THREADS
                        线程数
    -r, --recursive     递归爆破
    --deep-recursive    对每个目录深度执行递归扫描(例如 api/users -> api/)
    --force-recursive   对每个找到的路径执行递归爆破,不仅限于目录
    -R DEPTH, --max-recursion-depth=DEPTH
                        最大递归深度
    --recursion-status=CODES
                        递归扫描的有效状态代码,支持范围(用逗号分隔)
    --subdirs=SUBDIRS   扫描给定 URL[s]的子目录(用逗号分隔)
    --exclude-subdirs=SUBDIRS
                        在递归扫描期间排除以下子目录(用逗号分隔)
    -i CODES, --include-status=CODES
                        包括状态代码,用逗号分隔,支持范围(例如 200,300-399)
    -x CODES, --exclude-status=CODES
                        排除状态代码,用逗号分隔,支持范围(例如 301,500-599)
    --exclude-sizes=SIZES
                        通过大小(用逗号分隔)排除响应(例如 0B,4KB)
    --exclude-text=TEXTS
                        通过文本排除响应,可以使用多个标志
    --exclude-regex=REGEX
                        通过正则表达式排除响应
    --exclude-redirect=STRING
                        如果正则表达式(或文本)与重定向 URL 匹配,则排除响应(例如 '/index.html')
    --exclude-response=PATH
                        排除类似于此页面响应的响应,以路径为输入(例如 404.html)
    --skip-on-status=CODES
                        每当命中其中一个状态代码时跳过目标,用逗号分隔,支持范围
    --min-response-size=LENGTH
                        最小响应长度
    --max-response-size=LENGTH
                        最大响应长度
    --max-time=SECONDS  扫描的最大运行时间
    --exit-on-error     每当发生错误时退出

  请求设置:
    -m METHOD, --http-method=METHOD
                        HTTP 方法(默认: GET)
    -d DATA, --data=DATA
                        HTTP 请求数据
    --data-file=PATH    包含 HTTP 请求数据的文件
    -H HEADERS, --header=HEADERS
                        HTTP 请求头,可以使用多个标志
    --header-file=PATH  包含 HTTP 请求头的文件
    -F, --follow-redirects
                        跟随 HTTP 重定向
    --random-agent      为每个请求选择随机 User-Agent
    --auth=CREDENTIAL   身份验证凭证(例如 user:password 或 bearer token)
    --auth-type=TYPE    身份验证类型(basic, digest, bearer, ntlm, jwt, oauth2)
    --cert-file=PATH    包含客户端证书的文件
    --key-file=PATH     包含客户端证书私钥的文件(未加密)
    --user-agent=USER_AGENT
    --cookie=COOKIE

  连接设置:
    --timeout=TIMEOUT   连接超时
    --delay=DELAY       请求之间的延迟
    --proxy=PROXY       代理 URL(HTTP/SOCKS),可以使用多个标志
    --proxy-file=PATH   包含代理服务器的文件
    --proxy-auth=CREDENTIAL
                        代理身份验证凭证
    --replay-proxy=PROXY
                        重放找到的路径时使用的代理
    --tor               使用 Tor 网络作为代理
    --scheme=SCHEME     原始请求的协议或 URL 中没有协议时使用的协议(默认: 自动检测)
    --max-rate=RATE     每秒的最大请求数
    --retries=RETRIES   失败请求的重试次数
    --ip=IP             服务器 IP 地址
    --interface=NETWORK_INTERFACE
                        要使用的网络接口

  高级设置:
    --crawl             在响应中爬取新路径

  显示设置:
    --full-url          在输出中显示完整的 URL(在安静模式下自动启用)
    --redirects-history
                        显示重定向历史
    --no-color          无彩色输出
    -q, --quiet-mode    安静模式

  输出设置:
    -o PATH, --output=PATH
                        输出文件
    --format=FORMAT     报告格式(可用: simple, plain, json, xml, md, csv, html, sqlite)
    --log=PATH          日志文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/387720.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

开店必知:如何在社区开一家最受欢迎的店

在社区开一家受欢迎的店需要综合考虑多个因素。以下是一些关键要点,以帮助你实现这一目标。 1、了解社区需求: 在选择经营项目之前,深入了解社区的特点和需求。研究社区人口结构、消费习惯以及竞争对手情况。这将有助于你确定适合该社区的产…

基于AI Agent探讨:安全领域下的AI应用范式

先说观点:关于AI应用,通常都会聊准召。但在安全等模糊标准的场景下,事实上不存在准召的定义。因此,AI的目标应该是尽可能的“像人”。而想要评价有多“像人”,就先需要将人的工作数字化。而AI Agent是能够将数字化、自…

数据结构.图的存储

一、邻接矩阵法 二、邻列表法 三、十字链表法

SpringCloud第一天

1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.1.单体架构 单体架构:将业务的所有功能集中在一个项目中开发,打…

鸿蒙开发系列教程(十八)--页面内动画(1)

页面内的动画 显示动画 语法:animateTo(value: AnimateParam, event: () > void): void 第一个参数指定动画参数 第二个参数为动画的闭包函数。 如:animateTo({ duration: 1000, curve: Curve.EaseInOut }, () > {动画代码}) dura…

面试经典150题——最小覆盖子串(困难)

"The greatest glory in living lies not in never falling, but in rising every time we fall." - Nelson Mandela​ 1. 题目描述 2. 题目分析与解析 2.1 思路一——暴力求解 还是和之前讲的一样,看见题目没思路,先试试普通情况下人的解法…

计算机毕业设计分享-SpringBoot宿舍管理平台app13023(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等

SpringBoot宿舍管理平台app 摘 要 近年来,校园内出现了越来越多的信息管理系统,逐渐覆盖了校园内的各种教学和管理业务。在各种制度的帮助下,校园的管理水平和效率都有了很大的提高。在学生管理方面,已经涌现了众多的信息管理系统…

每日OJ题_递归①_力扣面试题 08.06. 汉诺塔问题

目录 递归算法原理 力扣面试题 08.06. 汉诺塔问题 解析代码 递归算法原理 递归算法个人经验:给定一个任务,相信递归函数一定能解决这个任务,根据任务所需的东西,给出函数参数,然后实现函数内容,最后找出…

Editing While Playing 使用 Easyx 开发的 RPG 地图编辑器 tilemap eaitor

AWSD移动画布 鼠标右键长按拖拽 鼠标左键长按绘制 可以边拖拽边移动画布边绘制。 F1 导出 DLC F2 导入DLC author: 民用级脑的研发记录 1309602336qq.com 开发环境: 内置 easyx 的 devc 5.11 或者 VS 2022 TDM GCC 4.9.2 64-bit c11及以上都可运行 windows 环境运行…

机器学习3----决策树

这是前期准备 import numpy as np import pandas as pd import matplotlib.pyplot as plt #ID3算法 #每个特征的信息熵 # target : 账号是否真实,共2种情况 # yes 7个 p0.7 # no 3个 p0.3 info_D-(0.7*np.log2(0.7)0.3*np.log2(0.3)) info_D #日志密度…

华为23年9月笔试原题,巨详细题解,附有LeetCode测试链接

文章目录 前言思路主要思路关于f函数的剖析Code就到这,铁子们下期见!!!! 前言 铁子们好啊!今天阿辉又给大家来更新新一道好题,下面链接是23年9月27的华为笔试原题,LeetCode上面的ha…

- 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》

本文属于专栏《构建工业级QPS百万级服务》​​​​​ 1、前置知识 c的内存管理,主要说的是堆内存管理。现代计算机系统中,用户进程的堆内存,由内核映射。 堆内存的来源 主要是通过mmap()函数,在进程的虚拟地址空…

【Linux技术宝典】深入理解Linux基本指令:命令行新手指南

📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构冒险记 ✅Linux技术宝典 🌅 有航道的人,再渺小也不会迷途。 文章目录 一、Linux下基本指令1. ls 指令2. pwd指令3. clear指令4. cd指令什么是家目录&#xf…

【AI视野·今日Robot 机器人论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Wed, 17 Jan 2024 Totally 49 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Safe Mission-Level Path Planning for Exploration of Lunar Shadowed Regions by a Solar-Powered Rover Authors Olivier L…

【Pandas 统计函数和自定义函数的使用】

文章目录 前言一、统计函数1. 描述性统计2. 直方图 二、自定义函数1. 自定义函数示例 总结 前言 Pandas 是基于 NumPy 的数据分析工具,它提供了各种数据结构,如 Series 和 DataFrame,以及各种功能强大的函数,用于数据的统计、清洗…

随机过程及应用学习笔记(四) 马尔可夫过程

马尔可夫过程是理论上和实际应用中都十分重要的一类随机过程。 目录 前言 一、马尔可夫过程的概念 二、离散参数马氏链 1 定义 2 齐次马尔可夫链 3 齐次马尔可夫链的性质 三、齐次马尔可夫链状态的分类 四、有限马尔可夫链 五、状态的周期性 六、极限定理 七、生灭过…

Android adb使用超级大全

Android adb使用超级大全 ADB,即Android Debug Bridge,是一款强大的工具,对于Android开发/测试人员来说是不可或缺的,同时也是Android设备玩家的好玩具。本文将详细介绍ADB的使用方法。 ADB的基本用法如下: 命令语法…

chatglm3-6b使用

源码地址 GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型 创建环境 conda create -n chatglm36 python3.11.7 修改源码中依赖,使得使用cuda,否则太慢了 pip3 install torch2.1.2 torchvision0.16.2 to…

SpringBoot3 + Vue3 由浅入深的交互 基础交互教学

说明:这篇文章是适用于已经学过SpringBoot3和Vue3理论知识,但不会具体如何实操的过程的朋友,那么我将手把手从教大家从后端与前端交互的过程教学。 目录 一、创建一个SpringBoot3项目的和Vue3项目并进行配置 1.1后端配置: 1.1.1applicatio…

C语言第二十四弹---指针(八)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 指针 1、数组和指针笔试题解析 1.1、字符数组 1.1.1、代码1: 1.1.2、代码2: 1.1.3、代码3: 1.1.4、代码4: 1…