渗透测试 | 目录扫描

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 总结

由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。 

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

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

相关文章

electron源码保护

electron 程序发布后&#xff0c;如果未对程序做保护&#xff0c;则极容易受到破坏&#xff0c;比如被轻松破解密码&#xff0c;或者被修改程序&#xff0c;所以必须对程序做一些安全防护。虽然没有100%的安全防护&#xff0c;但是提升破解难度&#xff0c;直至破解代价超出了范…

MyBatis:使用代码整合

文章目录 MyBatis&#xff1a;Day 04框架1. 依赖&#xff1a;pom.xml2. 外部配置文件&#xff1a;db.properties3. 核心配置文件&#xff1a;mybatis-config.xml4. 实体类5. 接口&#xff1a;xxxMapper.java6. 实现类&#xff1a;xxxMapper.xml7. 测试 MyBatis&#xff1a;Day …

利用C#实现动态替换桌面快捷方式对应的应用程序

公司有一个特殊的业务可能会用到这个&#xff0c;至于什么业务就不展开了。本文的内容作为备用方案。 实现思路&#xff1a; 1 获取当前exe程序运行的全路径 2 获取桌面的所有快捷方式 3 遍历快捷方式&#xff0c;获取快捷键方式对应程序的运行路径&#xff0c;并与当前…

Java编程中的20种常见异常及其原因,你知道多少

本文介绍了在Java编程中可能遇到的20种常见异常&#xff0c;包括空指针异常、类未找到异常、数组下标越界异常等&#xff0c;并简要解释了每种异常发生的原因。这些异常可能由于编程错误、运行时资源不足或权限受限等多种原因触发&#xff0c;了解它们有助于更高效地进行程序调…

黑马程序员Dubbo快速入门,Java分布式框架dubbo教程

分布式系统中的相关概念 &#xff08;一&#xff09;互联网项目架构目标-特点 &#xff08;二&#xff09;互联网项目架构目标-目标 &#xff08;三&#xff09;集群和分布式 &#xff08;四&#xff09;架构演进 Dubbo概述 &#xff08;一&#xff09;dubbo概述 1、dub…

针对Vue前后端分离项目的渗透思路

引言 在目前的开发环境下&#xff0c;越来越多的厂商选择 Vue.js 来实现前端功能的编写&#xff0c;且成熟的前端框架已经可以实现后端代码实现的功能&#xff0c;导致后端目前只负责提供 Api 接口和文档&#xff0c;方便前端的同时去调用。本文主要介绍如何针对这类前后端分离…

java版鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统源代码

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工程管…

java紫砂壶交易购物系统 mysql

网络紫砂壶可充通过色彩、图片、说明、设置动画加强了产品了宣传&#xff0c;大大达到了陶瓷业的“色型”要求。实现产品管理方便&#xff0c;起到立竿见影的效果&#xff0c;不用因为更改菜色而重新印刷。只要在后台鼠标轻轻一点&#xff0c;全线马上更新。采用B/S模式&#x…

mybatisPlus初识

文章目录 什么是mybatisplus依赖入门案例自动填充乐观锁悲观锁乐观锁 mybatisPlus实现乐观锁批量查询根据指定条件查询 什么是mybatisplus mybatisplus是mybatis的增强工具&#xff0c;支持多种类型的数据库。 依赖 <dependency><groupId>com.baomidou</group…

快速了解车联网V2X通信

自动驾驶拥有极其巨大的潜力&#xff0c;有可能改变我们的出行方式。它不仅有望永远改变车辆的设计和制造&#xff0c;还会永远改变汽车的所有权乃至整个交通运输业务。要实现全自动驾驶的目标&#xff0c;开发人员需要开发极为复杂的软件&#xff0c;软件中融入的人工智能(AI)…

从一到无穷大 #7 Database-as-a-Service租户隔离挑战与解决措施

文章目录 引言计算侧多租户隔离2DFQSQLVMRetro 其他隔离方法其他 引言 在云环境中租户之间的资源共享对于运营商的成本效益来说非常重要&#xff0c;但是一个主要问题是租户之间的资源隔离&#xff0c;这通常与Qos息息相关&#xff0c;从多租户的角度讲&#xff0c;安全性/性能…

〖Python网络爬虫实战⑲〗- 数据存储之CSV文件

订阅&#xff1a;新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列&#xff08;零基础小白搬砖逆袭) 说明&#xff1a;本专栏持续更新中&#xff0c;目前专栏免费订阅&#xff0c;在转为付费专栏前订阅本专栏的&#xff0c;可以免费订阅付…

DolphinScheduler海豚调度教程

DolphinScheduler 教程 &#xff08;一&#xff09;入门指南 简介 关于Dolphin Apache DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统。解决数据研发ETL 错综复杂的依赖关系&#xff0c;不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式…

欧拉奔赴品牌2.0时代,女性汽车真实用户需求被定义?

每年的上海国际汽车工业展览会&#xff0c;不仅是各大汽车品牌的技术“秀场”&#xff0c;也是品牌的营销“修罗场”。今年上海车展出圈的营销事件特别多&#xff0c;热度甚至一再蔓延到汽车行业外&#xff0c;其中欧拉也贡献了不少流量。 据了解&#xff0c;在2023上海车展欧…

ModuleNotFoundError: No module named ‘mmcv._ext‘

mmsegmentation使用pyinstaller打包出现问题 mmsegmentation是商汤开源的语义分割框架&#xff0c;里面包含了大量SOTA模型&#xff0c;十分适合从事语义分割工作的小白学习。 最近想将mmsegmentation打包成exe进行使用&#xff0c;但是遇到了一个问题&#xff0c;在打包的过…

Photon AI Translator 和做产品的一些思考

近 4 个月内我一直在做 Apple 平台的产品&#xff0c;虽然从使用量来说「简体中文」用户是占多数&#xff0c;但我一直有做多语言的支持&#xff1a;英语、简体中文和繁体中文。习惯上 Google 翻译的我&#xff0c;基本上在使用 Xcode 过程中也会一直在浏览器开着 Google Trans…

目标跟踪--卡尔曼滤波 与 匈牙利算法

目前主流的目标跟踪算法都是基于Tracking-by-Detecton策略&#xff0c;即基于目标检测的结果来进行目标跟踪。 跟踪结果中&#xff0c;每个bbox左上角的数字是用来标识某个人的唯一ID号。那么问题就来了&#xff0c;视频中不同时刻的同一个人&#xff0c;位置发生了变化&#x…

《智能手机心率和呼吸率测量算法的前瞻性验证》阅读笔记

目录 一、论文摘要 1.背景 2.方法 3.结果 4.结论 二、论文十问 Q1&#xff1a;论文试图解决什么问题&#xff1f; Q2&#xff1a;这是否是一个新的问题&#xff1f; Q3&#xff1a;这篇文章要验证一个什么科学假设&#xff1f; Q4&#xff1a;有哪些相关研究&#xff…

【算法】冒泡排序

一.冒泡排序 主要思想&#xff1a; 反复交换相邻的元素&#xff0c;使较大的元素 逐渐冒泡到数组的末尾&#xff0c;从而实现排序的效果 实现过程&#xff1a; 1.遍历待排序数组&#xff0c;比较相邻的元素&#xff0c;如果前面的元素比后面的元素大&#xff0c; 就交换这两…

07 Kubernetes 网络与服务管理

课件 Kubernetes Service是一个抽象层&#xff0c;用于定义一组Pod的访问方式和访问策略&#xff0c;其作用是将一组Pod封装成一个服务&#xff0c;提供一个稳定的虚拟IP地址和端口号&#xff0c;以便于其他应用程序或服务进行访问。 以下是Kubernetes Service YAML配置文件的…