渗透测试 | 目录扫描
0x00 免责声明
本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担!
0x01 前言
信息收集可以说是在渗透测试中最重要的一部分,其中目录扫描也占有重要位置。通过目录扫描,可以查找到目标系统中可能存在的敏感文件和目录,在进行目录扫描之前,必须获得授权并遵守法律和道德准则。
0x02 HTTP状态码详解
Ⅰ 状态码的五种类型
| 状态码 | 类型 |
| 1xx | 信息状态码 |
| 2xx | 成功状态码 |
| 3xx | 重定向状态码 |
| 4xx | 客户端错误状态码 |
| 5xx | 服务器错误状态码 |
Ⅱ 2xx状态码
200 OK
状态码 200 表示请求成功。默认情况状态码是 200 的响应可以被缓存。
201 Created
HTTP 成功创建新资源,状态码为 201 ,状态码 201 表示服务器已成功创建了新资源并返回给客户端。
202 Accepted
HTTP 协议中,状态码 202 表示服务器已经收到请求,但还未处理完毕。但需要注意的是,服务器不能保证处理一定成功,并且也不能通过 HTTP 协议异步地通知客户端请求的处理结果。
Ⅲ 3xx状态码
301 Moved Permanently
当 Web 服务器接收到用户的访问请求时,如果请求的 URL 已经发生改变,可以采用 301 跳转的方式,将请求的 URL 永久地重定向到新的 URL 地址。此时,服务器会返回一个状态码为 301 的响应,告知搜索引擎和浏览器该页面已经永久性地被移动到了一个新的位置。
302 Found
当使用 HTTP 协议请求资源时,如果服务器暂时将资源移动到了另一个 URL 上,它将返回 302 Found 状态码。这表示浏览器应该重定向到该 URL 来获取资源。但搜索引擎不会更新链接并仍将原始 URL 视为资源的地址。所以,这个状态码在一些情况下可以帮助维护者快速更新网站资源的位置,但也有可能导致搜索引擎无法正确索引资源。
Ⅳ 4xx状态码
400 Bad Request
当服务器认为客户端错误的请求有语法错误、请求消息格式无效或请求路由欺骗性时,会返回 HTTP 400 Bad Request 响应状态码,指示服务器无法或不会处理该请求。这种状态码通常与客户端错误相关联,表示请求中存在某些问题,使服务器无法理解或处理该请求。
401 Unauthorized
当状态码为 401 时,意味着客户端错误,即请求未能得到满足,因为缺少所需的身份验证凭证。这通常发生在客户端未能提供正确的凭证或缺乏所需的权限时。
403 Forbidden
状态码 403 Forbidden 是一种表示客户端错误的 HTTP 协议状态码,意味着尽管服务器有能力处理请求,但仍然拒绝授权访问。与状态码 401 相似,重新验证也不会改变该状态,且该资源的访问是长期禁止的。通常情况下,这种状态码与应用逻辑有关,例如用户没有足够的权限访问该资源。
404 Not Found
当我们在使用 HTTP 协议访问资源时,如果服务器无法找到请求的资源,就会返回 404 Not Found 状态码。这个状态码表示服务器上没有与请求的 URL 对应的资源。需要注意的是,404 并不能告诉我们请求的资源是临时丢失还是永久丢失,需要通过其他方式来确定资源是否还存在。
405 Method Not Allowed
当客户端向服务器发送使用了不允许的 HTTP 方法的请求时,服务器会返回状态码 405 Method Not Allowed ,表示当前请求被禁止。这种情况可能是由于服务器上的某些限制或配置所致,因此客户端需要使用允许的 HTTP 方法重新发送请求。
Ⅴ 5xx状态码
503 Server Unavailable
HTTP 协议中的 503 状态码是一种服务器端错误状态代码,表示服务器暂时无法处理请求。常见的原因包括服务器正在进行维护,或者负载过高导致无法处理请求。此状态码告诉客户端,服务器目前无法提供所需服务,并建议稍后再尝试发送请求。
0x03 DirMap目录扫描工具
DirMap是一个高级web目录扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑。文章中只对工具做一个简单的了解,并不做详细介绍。
ⅠDirMap工具下载
https://github.com/H4ckForJob/dirmap
Ⅱ检查更新pip版本
python -m pip install --upgrade pip
Ⅲ安装环境依赖库
pip install -r requirements.txt
pip install progressbar2
pip install lxml
pip install requests
pip install progressbar
pip install gevent
Error报错解决:
报错描述:
ERROR: Package 'xdis' requires a different Python: 3.11.3 not in '<3.11,>=3.6'
报错原因:
报错是因为我的 Python 版本是 3.11.3 ,但是安装的 xdis 版本不兼容 Python 3.11.3 导致。xdis 仅支持 Python 版本在 3.6 到 3.10 之间。
解决方法:
可以使用 pip 命令安装一个兼容 Python 3.11.3 的 xdis 版本。
pip install xdis==5.0.5
Ⅳ运行截图

python dirmap.py -i https://target.com -lcf
0x04 7kbscan目录扫描工具
7kbscan 目录扫描工具相比 dirmap 工具有两个好处是可以进行多 url 扫描,可以提升效率。其二,在软件中可以自定义设置请求头,一般进行目录扫描有些网站可能设置了 WAF 等防护机制。如果没有设置 UA 请求头或者是线程数等,网站 WAF 就会发现可疑的请求头请求过快。如果设置了一些专门爬虫的请求头例如百度的请求头或者谷歌的请求头,那么网站 WAF 会误以为你是百度的爬虫或者是谷歌的爬虫,网站 WAF 就会允许你进行扫描。对此,如有疑惑可以参考谷歌搜索引擎机制等相关文章。
Ⅰ7kbscan工具下载
https://gitcode.net/mirrors/7kbstorm/7kbscan-WebPathBrute?utm_source=csdn_github_accelerator
Ⅱ运行截图

0x05 御剑Web目录扫描工具
御剑目录扫描专业版,简单实用的命令行网站目录扫描工具,支持爬虫、 fuzz 、自定义字典、字典变量、 UA 修改、假 404 自动过滤、扫描控速等功能。
Ⅰ御剑扫描工具下载
https://github.com/foryujian/yjdirscan
Ⅱ运行截图

0x06 参考文献
[1].mdnwebdocs. 200 OK[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/200.
[2].mdnwebdocs. 201 Created[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/201.
[3].mdnwebdocs. 202 Accepted[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/202.
[4].mdnwebdocs. 302 Found[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/302.
[5].mdnwebdocs. 400 Bad Request[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/400.
[6].mdnwebdocs. 401 Unauthorized[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/401.
[8].mdnwebdocs. 403 Forbidden[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/403.
[9].mdnwebdocs. 404 Not Found[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/404.
[10].mdnwebdocs. 405 Method Not Allowed[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/405.
[11].mdnwebdocs. 503 Service Unavailable[EB/OL]. [2023-04-29]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/503.
[12].高木同学天下第一. 常用的HTTP状态码[EB/OL]. [2023-04-29]. https://blog.csdn.net/beyond150/article/details/102128827.
0x07 总结
由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。
相关文章:
渗透测试 | 目录扫描
0x00 免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任,一旦造成后果请自行承担…...
基于Springboot的班级综合测评管理系统的设计与实现
摘要 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的,在人们的工作生活中,也就需要…...
比较全的颜色RGB值对应表 8位 16位
实色效果英文名称R.G.B16色实色效果英文名称R.G.B16色Snow255 250 250#FFFAFAPaleTurquoise1187 255 255#BBFFFFGhostWhite248 248 255#F8F8FFPaleTurquoise2174 238 238#AEEEEEWhiteSmoke245 245 245#F5F5F5PaleTurquoise3150 205 205#96CDCDGainsboro220 220 220#DCDCDCPaleT…...
freertos使用基础
FreeRtos快速入门 一,基础知识1.工作方式简介(不深入介绍原理)2,移值3,什么是内存管理 二,API的作用跟使用方法1,创建任务 最近跟着韦东山老师学习 FreeRTOS ,记录下来加…...
Spring Boot引用外部JAR包和将自己的JAR包发布到本地Maven库
Spring Boot引用外部JAR包 Spring Boot 项目可以通过在项目中引入外部 JAR 包来增强功能。以下是使用Spring Boot引用外部JAR包的步骤: 将外部JAR包添加到项目中,可以通过直接将JAR包复制到项目目录下的“lib”目录中,或者使用Maven的方式添…...
微信小程序原生开发功能合集十二:编辑界面的实现
本章实现编辑界面的实现处理,包括各编辑组件的使用及添加数据保存数据流程的实现处理。 另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下: 1. CSDN课程: https://edu.csdn.net/course/…...
基于3D渲染和基于虚拟/增强现实的IIoT原理的数字孪生平台的方案论文阅读笔记
基于3D渲染和基于虚拟/增强现实的IIoT原理的数字孪生平台的方案论文阅读笔记 论文原文链接:https://ieeexplore.ieee.org/abstract/document/9039804 本笔记对部分要点进行了翻译和批注,原文和翻译可参考链接阅读,此处不进行完整翻译。 论文…...
腾讯云镜YunJing——Agent定时任务脚本分析
缘起 如果你有台腾讯云主机,会发现默认有个叫 YunJing 的进程。 把它kill掉后,发现一段时间又出现了 这是为什么捏? 分析定时任务配置文件 通过crontab定时任务目录, 会发现有个叫yunjing的配置文件。 */30 * * * * root /usr/local/qc…...
如何使用java编写差分进化算法
差分进化算法属于一种进化算法,以全局最优性、收敛速度快等特点,得到很多学者的关注,并将其扩展到参数优化、数值优化、工程优化、路径优化、机器学习等一系列研究中。 而差分进化算法的原理即过程又是什么呢? 一、什么是差分进…...
Enterprise:如何在 Elastic 企业搜索引擎中添加对更多语言的支持
作者:Ioana-Alina Tagirta Elastic App Search 中的引擎(engines)使你能够索引文档并提供开箱即用的可调搜索功能。 默认情况下,引擎支持预定义的语言列表。 如果你的语言不在该列表中,此博客将说明如何添加对其他语言…...
SqlServer数据库中文乱码问题解决方法
这个问题在网上找了很多资料都没找到真正解决问题的办法,最终去了官网,终于找到问题的答案了,整理出来做个记录。 问题描述: 项目中遇到一个问题,sqlserver中的数据是ok的,结果保存到mysql中是乱码&#…...
跨域的五种最常见解决方案
在开发Web应用程序时,一个常见的问题是如何处理跨域请求。跨域请求是指来自不同源的请求,这些请求可能会受到浏览器的限制而不能被正常处理。在这篇文章中,我们将探讨跨域请求的常见解决方案,并了解每种解决方案的优缺点。 一、J…...
作为一个C++新手,我感兴趣的C++开源项目
2023年4月30日,周日晚上。 昨天完成了一个C项目后,想再开始一个C项目,但不知道做什么,于是决定看看有什么好的C开源项目。 今晚在网上逛了一圈后,发现了好多有趣的C开源项目。 参考文章: GitHub Top 10 …...
杭州云降价只是敲锣
1. 陈年旧事 大约是2015年,某友商宣布存储免费,当时我们公司如临大敌,我也被拽过去开会。后来我们才发现……对方的套路是: 文件存储原始收费是一毛钱。文档存储免费的条件是,需要客户当月有一次下载文件的行为才能免费…...
RabbitMQ笔记
一、MQ与RabbitMQ概述 1. MQ简述 MQ(Message Queue)消息队列,是基础数据结构中 “先进先出” 的一种数据结构,也是在消息的传输过程中保存消息的容器(中间件),多用于分布式系统之间进行通信。 …...
【Latex】如何在表格中使用footnote
Latex table cell中是不支持\footnote的。 如果你在table中用\footnote,那么要么这个脚注根本不显示出来,要么就会出现计数出错等问题。总之非常麻烦。 解决策略 笔者在搜集大量资料后,也并没有找到一种“完美的”解决方案。我们只能用一些…...
设计师常用的素材网站有哪个推荐
即时设计资源社区聚集了许多优秀的创作者,分享了大量的优质资源。 目前,社区资源数量已达到10000,包含图标、插画、原型、设计作品等多个素材类别。这些优秀的设计作品降低了设计师思维的成本,成为设计师的宝藏材料网站。 即时设…...
jmeter常用的命令行参数有哪些?常用的jmeter命令行如何编写
目录:导读 引言 一、JMete执行方式 二、JMete非GUI运行优点 三、jmeter非GUI运行参数 四、jmeter非GUI运行命令 4.1非GUI基本命令格式: 4.2非GUI并生成html报告基本命令格式 结语 引言 你是否在使用JMeter进行负载测试时感到手忙脚乱࿱…...
APP渗透—查脱壳、反编译、重打包签名
APP渗透—查脱壳、反编译、重打包签名 1. 前言1.1. 其它 2. 安装工具2.1. 下载jadx工具2.1.1. 下载链接2.1.2. 执行文件 2.2. 下载apktool工具2.2.1. 下载链接2.2.2. 测试 2.3. 下载dex2jar工具2.3.1. 下载链接 3. 查壳脱壳3.1. 查壳3.1.1. 探探查壳3.1.2. 棋牌查壳 3.2. 脱壳3…...
【贪婪技术】
目录 知识框架No.1 贪婪技术一、问题引入二、基本思想三、问题实例:连续背包问题 No.2 最小生成树问题一、基本思想二、Prim算法1、主要思想和步骤2、算法效率 三、Kruskal算法1、主要思想和步骤 No.3 Dijkstra算法一、主要思想二、问题实例: No.4 哈夫曼…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
