当前位置: 首页 > news >正文

Dirsearch 深度使用教程:从基础扫描到携带 Cookie 探索网站

在网络安全测试和网站信息收集过程中,Dirsearch 是一款强大的开源工具,能够快速扫描网站,找出潜在的目录和文件。而当面对需要登录才能访问的网站资源时,通过携带 Cookie 扫描,Dirsearch 可以模拟已登录状态,突破权限限制,获取更多隐藏信息。本教程将从 Dirsearch 的基础使用入手,逐步深入到携带 Cookie 扫描的进阶技巧,帮助你全面掌握这款工具。

目录

一、安装 Dirsearch

二、常用参数介绍

三、基础扫描实战案例

案例一:基础扫描

案例二:扫描特定文件扩展名

案例三:递归扫描并保存结果

四、携带 Cookie 扫描进阶技巧

4.1 为什么要携带 Cookie 扫描?

4.2 携带 Cookie 扫描的两种方法

方法一:通过命令行参数 -H 手动添加 Cookie

方法二:从浏览器导出 Cookie 文件并加载

4.3 实战案例

五、注意事项


一、安装 Dirsearch

Dirsearch 基于 Python 开发,安装前需确保系统中已安装 Python 环境(建议 Python 3 版本),安装步骤如下:

  1. 克隆 Dirsearch 仓库:打开终端(Linux 或 macOS 系统)或命令提示符(Windows 系统),使用git命令克隆 Dirsearch 的 GitHub 仓库。若未安装git,可先根据系统类型安装git工具。

git clone https://github.com/maurosoria/dirsearch.git

  1. 进入目录:克隆完成后,使用cd命令进入dirsearch目录。

cd dirsearch

至此,Dirsearch 安装完成。

二、常用参数介绍

Dirsearch 提供丰富参数,合理搭配可使扫描更高效精准,以下是常用参数:

  • -u, --url:指定要扫描的目标 URL,此为基础且必不可少的参数。例如扫描Example Domain,命令为:

python3 dirsearch.py -u https://example.com

  • -e, --extensions:指定要扫描的文件扩展名。默认扫描常见网页文件扩展名,若有特定需求,如只扫描.php文件,命令如下:

python3 dirsearch.py -u https://example.com -e php

  • -r, --recursive:开启递归扫描。遇到可访问目录时,Dirsearch 会继续扫描该目录下的子目录和文件。例如:

python3 dirsearch.py -u https://example.com -r

  • -t, --threads:设置扫描线程数。线程数越多扫描速度越快,但会增加目标服务器压力,需根据目标服务器性能和网络状况合理设置。如设置线程数为 30:

python3 dirsearch.py -u https://example.com -t 30

  • -o, --output:将扫描结果保存到指定文件,便于后续查看分析,如:

python3 dirsearch.py -u https://example.com -o result.txt

三、基础扫描实战案例

案例一:基础扫描

若要对https://test.com进行基础扫描,找出常见目录和文件,在终端输入以下命令:

python3 dirsearch.py -u https://test.com

Dirsearch 开始扫描并在终端输出结果,显示找到的目录和文件路径及对应的 HTTP 响应状态码,如200表示正常访问,404表示未找到,301或302表示重定向 。

案例二:扫描特定文件扩展名

若怀疑https://test.com存在.php文件的敏感信息泄露问题,重点扫描.php文件,使用以下命令:

python3 dirsearch.py -u https://test.com -e php

Dirsearch 仅扫描以.php为扩展名的文件,提高扫描针对性。

案例三:递归扫描并保存结果

要对https://test.com进行全面递归扫描,并将结果保存到scan_result.txt文件中,执行以下命令:

python3 dirsearch.py -u https://test.com -r -o scan_result.txt

扫描完成后,可打开scan_result.txt文件查看详细结果。

四、携带 Cookie 扫描进阶技巧

4.1 为什么要携带 Cookie 扫描?

在实际场景中,许多网站的后台管理系统、会员专属页面、个人中心等,都需用户登录后才能访问。网站通过 Cookie 识别用户身份和会话状态,只有携带有效 Cookie,才能被服务器认证为合法用户。Dirsearch 携带 Cookie 扫描,正是利用这一机制,帮助我们在扫描时绕过登录验证,获取隐藏在权限背后的目录和文件信息。

4.2 携带 Cookie 扫描的两种方法

方法一:通过命令行参数 -H 手动添加 Cookie

-H 参数全称 --http-headers,可向请求中添加自定义的 HTTP 头信息,包括 Cookie。

  1. 基本格式

python3 dirsearch.py -u [目标URL] -H "Cookie: [你的Cookie值]" [其他参数]

  1. 示例操作

若要扫描目标网站https://example.com/admin,获取到的 Cookie 值为 sessionid=abc123; user=admin,完整扫描命令如下:

python3 dirsearch.py -u https://example.com/admin -H "Cookie: sessionid=abc123; user=admin" -e php

此命令对https://example.com/admin进行扫描,查找.php文件,并在扫描请求中携带指定 Cookie,模拟已登录用户身份。

3. 补充说明

若除 Cookie 外还需添加其他 HTTP 头信息,如修改 User-Agent,可多次使用 -H 参数。例如:

python3 dirsearch.py -u https://example.com -H "Cookie: sessionid=abc123" -H "User-Agent: Mozilla/5.0"

方法二:从浏览器导出 Cookie 文件并加载

当 Cookie 信息复杂,包含多个键值对、加密信息时,手动输入易出错,可从浏览器导出 Cookie 文件,再通过 Dirsearch 的 -c 参数加载。

  1. 步骤一:从浏览器导出 Cookie

以 Chrome 浏览器为例:

    • 打开目标网站并完成登录操作。
    • 按下 F12 键打开开发者工具,切换到 Application(应用)选项卡,点击左侧的 Cookies
    • 在右侧找到对应域名,右键点击,选择 Export cookies as JSON,将 Cookie 以 JSON 格式保存到本地,命名为 cookies.json。
  1. 步骤二:使用 -c 参数加载 Cookie 文件

基本格式

python3 dirsearch.py -u [目标URL] -c [Cookie文件路径] [其他参数]

示例操作

若要扫描https://example.com/admin,且 Cookie 文件 cookies.json 保存在当前目录下,扫描命令如下:

python3 dirsearch.py -u https://example.com/admin -c cookies.json -e php

  1. 支持的文件格式

Dirsearch 支持 JSON 格式(主流浏览器导出格式)和 TXT 格式(需符合 curl 的 Cookie 格式,可通过专门转换工具生成)。

4.3 实战案例

假设要对已登录的后台管理系统https://example.com/admin进行全面扫描,并保存结果。已通过 Chrome 浏览器登录该系统,并将 Cookie 导出为 cookies.json 文件。具体操作命令如下:

python3 dirsearch.py -u https://example.com/admin -c cookies.json -r -t 20 -o result.txt

  • -r 参数:开启递归扫描,确保不放过任何子目录和文件。
  • -t 20 参数:设置 20 个扫描线程,加快扫描速度,但需根据目标服务器承受能力合理调整。
  • -o result.txt 参数:将扫描结果保存到 result.txt 文件中,便于后续查看分析。

五、注意事项

  1. 遵守法律规定:在使用 Dirsearch 进行扫描时,务必确保获得目标网站所有者的授权。未经授权的扫描行为,尤其是携带 Cookie 扫描受限资源,可能违反法律法规,带来严重后果。
  1. 避免过度扫描:过高的线程数或长时间的大规模扫描可能会对目标服务器造成过大压力,甚至导致服务器瘫痪。请合理设置参数,尽量在非业务高峰期进行扫描。
  1. Cookie 时效性:Cookie 都有一定有效期,过期后将无法通过服务器验证。若扫描中出现权限验证失败,首先检查 Cookie 是否过期,及时重新登录并导出新的 Cookie。此外,部分网站会对 Cookie 的 IP 地址、User-Agent 等信息进行校验,若扫描时网络环境与登录环境不一致,也可能导致 Cookie 失效,此时需同步修改相关 HTTP 头信息。
  1. 处理误报:由于网站架构和配置的多样性,Dirsearch 的扫描结果可能存在误报情况。例如,一些返回200状态码的页面可能是网站的错误页面或无实际意义的页面。需要结合实际情况,对扫描结果进行仔细分析和验证。
  1. 网络问题:如果在扫描过程中遇到网络连接错误,可以检查网络连接是否正常,尝试更换网络环境或调整扫描参数(如降低线程数)。
  1. 格式检查:使用 -H 参数手动添加 Cookie 时,若提示 Invalid header 错误,仔细检查 Cookie 值格式,确保所有键值对、分号、空格等正确无误,且使用双引号包裹完整 Cookie 值。使用 -c 参数加载文件时,保证 JSON 文件格式正确,可通过在线 JSON 校验工具进行格式检查。

相关文章:

  • Java—— IO流 第二期
  • PCB设计实践(二十三)什么是阻抗匹配,需要做啥
  • springboot链接nacos测试
  • 项目执行中缺乏风险管理,如何预防潜在问题?
  • 惠斯通电桥测量 数据采集模块 支持恒压/恒流的24位ADC电桥测量
  • PCB设计教程【入门篇】——电路分析基础-元件数据手册
  • 设计模式介绍
  • 解除diffusers库的prompt长度限制(SDXL版)
  • vue原生table表格实现动态添加列,一行添加完换行继续添加。el-select输入框背景颜色根据所选内容不同而改变
  • 深入解读RTP协议:RFC 3550的技术分析与应用
  • 在线地图瓦片URL
  • Spring Framework 的 spring-core 和 Spring Security 兼容版本
  • springboot3+vue3融合项目实战-大事件文章管理系统-自定义校验
  • 预警功能深度测评:如何用系统降低设备突发故障率?
  • 基于 STM32 的 PC ARGB 风扇控制器设计与实现
  • 工作安排小K
  • Elasticsearch生产环境性能调优指南
  • Unity中GPU Instancing使用整理
  • 全方位详解微服务架构中的Service Mesh(服务网格)
  • 互联网大厂Java求职面试:Spring Cloud微服务架构与AI集成挑战
  • 搜索引擎优化哪些方面/五年级上册优化设计答案
  • wordpress批量更换文章的关键字/武汉seo百度
  • 郑州那个公司做网站好/网络营销的六大特征
  • 诸暨哪些公司可以制作网站/优化设计