渗透测试 | 目录扫描
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 哈夫曼…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
