[BUUCTF从零单排] Web方向 02.Web入门篇之『常见的搜集』解题思路(dirsearch工具详解)

这是作者新开的一个专栏《BUUCTF从零单排》,旨在从零学习CTF知识,方便更多初学者了解各种类型的安全题目,后续分享一定程度会对不同类型的题目进行总结,并结合CTF书籍和真实案例实践,希望对您有所帮助。当然,也欢迎大家去BUUCTF网站实践,由于作者能力有限,该系列文章比较基础,写得不好的地方还请见谅,后续会持续深入,加油!

前文介绍了Web方向的基础题目——粗心的小李,考察的是git泄露文件知识。这篇文章同样是Web方向的题目——常见的搜集,该题目主要考察信息收集知识,为了方便大家思考,文章摘要部分尽量少提,大家也可以先尝试实践,再看WriteUp。基础性文章,希望对您有所帮助,尤其是对网络安全工具的使用和理解。

  • 欢迎关注作者新建的『网络攻防和AI安全之家』知识星球(文章末尾)

文章目录

  • 一.题目描述
  • 二.解题思路
    • 1.dirsearch安装及基本用法
    • 2.信息采集
    • 3.寻找flag
  • 三.探索扩展
    • 1.dirsearch词典问题
    • 2.dirsearch基础用法
  • 四.总结

前文赏析:

  • [BUUCTF从零单排] Web方向 01.Web入门篇之粗心的小李解题思路
  • [BUUCTF从零单排] Web方向 02.Web入门篇之『常见的搜集』解题思路

一.题目描述

该题目的具体描述如下:

  • 题目:[第一章 web入门] 常见的搜集
  • 方向:信息收集
  • 来源:《从0到1:CTFer成长之路》书籍配套题目,来源网站:book.nu1l.com

在这里插入图片描述

在这里插入图片描述

接着解锁该题目并开启探索。

在这里插入图片描述

打开网站如下所示:

  • http://8122d9bd-c977-44f6-a044-b206ef36511f.node5.buuoj.cn:81/

在这里插入图片描述

敏感文件
Hello, CTFer!
信息搜集之所以重要,是因为其往往会带给我们一些意想不到的东西
hack fun

二.解题思路

首先,打开该网页通过描述,可以知道该题目考察的是信息收集。作为初学者,我们第一想法是网站扫描和源码解析,如下图所示:

在这里插入图片描述

然而,源码并没有透露相关信息,因此换种方法——尝试利用dirsearch工具进行信息采集。

1.dirsearch安装及基本用法

Dirsearch是一个用于探测Web服务器上的隐藏目录和文件的工具,它通过发送HTTP请求来尝试访问可能存在的路径,从而找到不列在网站目录页面上的隐藏资源。具体功能包括:

  • 快速扫描
  • 多线程支持
  • 自定义字典
  • 多种选项
  • 颜色化输出
  • HTTP代理支持
  • 报告生成

由于整个源码已在GitHub开源,因此我们可以直接下载安装(注意Python3开发)。如下图所示:

  • https://github.com/maurosoria/dirsearch

在这里插入图片描述

下载后的文件目录如下所示:

在这里插入图片描述

输入CMD调用pip进行安装。

在这里插入图片描述

如下图所示:

  • pip install dirsearch

在这里插入图片描述

另一种安装方法是去到Python软件目录scripts位置,通过pip命令安装。

  • pip install DirSearch

在这里插入图片描述

安装过程,如下图所示:

在这里插入图片描述

读者可以尝试在Kali中进行安装。


2.信息采集

接下来,我们将利用dirsearch工具采集信息。

在这里插入图片描述

首先我们先介绍dirsearch工具的基本用法。

  • python dirsearch.py -u url -e txt -w db/dicc.txt

其中,-u参数表示需要扫描的目标链接,-e参数表示执行扫描的文件扩展名(如txt),-w参数指定自定义字典,比如使用dirsearch自带的词典(db目录下的dicc.txt文件)。

接着开启具体的信息采集。

第一步,扫描指定网站内容,打开界面如下图所示。

 python dirsearch.py -u http://82236f6f-c825-4d79-816f-380ca7362bc5.node5.buuoj.cn:81 -e *

在这里插入图片描述

由扫描结果可以发现,通过词典可以访问不同类型的文件,比如“/.htaccess.bak1”显示未403,而“/.index.php.swp”显示存在200。因此,通过访问这些泄露文件来寻找线索。

在这里插入图片描述

同样还可以看到其它文件。

在这里插入图片描述

第二步,通过访问指定文件夹扫描指定文件,如dicc.txt。

python dirsearch.py -u http://82236f6f-c825-4d79-816f-380ca7362bc5.node5.buuoj.cn:81 -e * -w db/dicc.txt

在这里插入图片描述

下图展示了如何向词典中添加自定义文件。

在这里插入图片描述

同理可以设置递归访问。

python dirsearch.py -u http://82236f6f-c825-4d79-816f-380ca7362bc5.node5.buuoj.cn:81 -w db/dicc.txt -r --deep-recursive

在这里插入图片描述

注意:在作者扫描过程中,主要发现了如下图所示的文件,不知道为什么“index.php~”文件无法发现,并且dicc.txt词典中包括该名称,似乎词典-w参数未起作用。

第三步,分别分析扫描发现的3个关键泄露文件,找到对应的flag。

  • .index.php.swp
  • robots.txt
  • index.php~

3.寻找flag

第一步,访问 robots.txt 文件并找到flag。

  • http://8122d9bd-c977-44f6-a044-b206ef36511f.node5.buuoj.cn:81/robots.txt

在这里插入图片描述

可以看到其网页中提示了一个新的txt文件,打开它可以看到第一个flag。

  • http://8122d9bd-c977-44f6-a044-b206ef36511f.node5.buuoj.cn:81/flag1_is_her3_fun.txt

找到flag1,结果为:

  • flag1:n1book{info_1

在这里插入图片描述

提示:robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。 当一个搜索机器人或爬虫访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。 另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。

第二步,访问 .index.php.swp 文件获取第二个flag,该文件为vim备份文件,格式通常为 .filename.swp 或者 .swo 或者.swn。

  • http://8122d9bd-c977-44f6-a044-b206ef36511f.node5.buuoj.cn:81/.index.php.swp

提示:.index.php.swp是在vim编辑器异常退出时保留的备份文件,可以用vim -r .index.php.swp(建议使用WSL,不用开启Linux虚拟机)恢复原始内容。

在这里插入图片描述

访问该网址可以将 index.php.swp 文件下载到本地,并在该文件中找到对应的flag3。

在这里插入图片描述

找到flag3,结果如下:

<?php echo 'flag3:p0rtant_hack}';?>

第三步,访问 index.php~ 文件找到对应的flag。

  • http://82236f6f-c825-4d79-816f-380ca7362bc5.node5.buuoj.cn:81/index.php~
gedit备份文件,格式为filename~,比如index.php~

在这里插入图片描述

其输出结果可以看到flag2,结果为:

  • flag2:s_v3ry_im

第四步,构造最终的flag并提交。

  • flag1:n1book{info_1
  • flag2:s_v3ry_im
  • flag3:p0rtant_hack}

最终结果:

  • n1book{info_1s_v3ry_imp0rtant_hack}

在这里插入图片描述


三.探索扩展

读者可以尝试其它工具扫描,如御剑工具。具体用法详见作者之前的文章:

  • [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解

同样,可以在本机上使用docker构建环境,用dirsearch扫描服务器文件并得到目标

1.dirsearch词典问题

在dirsearch工具中,包含一个db目录,用于存储信息采集的词典,如dicc.txt。

在这里插入图片描述

词典中包括常见的泄露信息或文件名词,如“.index.php.swp”。

在这里插入图片描述

然而,在该题目中,作者进行了多种尝试,仍然无法扫描出“index.php~”文件,并且设置词典未起作用(词典中包括对应名词)。如果读者知道具体原因还请告知,谢谢。

在这里插入图片描述

在这里插入图片描述

其他作者扫描结果如下图所示。

在这里插入图片描述

而作者的dirsearch只能发现两个代表性泄露信息文件。

在这里插入图片描述


2.dirsearch基础用法

最后,我们补充下dirsearch工具的部分用法。该工具会在reports目录中保存每次扫描结果的内容,如下图所示:

在这里插入图片描述

并且 requirements.txt 文件中包含详细的依赖包信息。

PySocks>=1.7.1
Jinja2>=3.0.0
certifi>=2017.4.17
defusedxml>=0.7.0
markupsafe>=2.0.0
pyopenssl>=21.0.0
charset_normalizer~=2.0.0
requests>=2.27.0
requests_ntlm>=1.1.0
colorama>=0.4.4
ntlm_auth>=1.5.0
pyparsing>=2.4.7
beautifulsoup4>=4.8.0
mysql-connector-python>=8.0.20
psycopg[binary]>=3.0
requests-toolbelt>=1.0.0

官方文档也有各种参数用法,读者可以结合具体需求学习。

在这里插入图片描述

具体用法:参考文献8

1) 帮助查询
python dirsearch.py -h2) 扫描单个URL并限制线程数和扩展名
python dirsearch.py -u url -t 10 -e php,asp --exclude-extensions=html3) 从URL列表文件中批量扫描
python dirsearch.py -l urls.txt -t 5 -e php4) 使用自定义字典和深度递归扫描
python dirsearch.py -u url -w wordlist.txt -r --deep-recursive5) 在请求中使用自定义HTTP头
python dirsearch.py -u url -H "X-Custom-Header: Value" -H "Authorization: Bearer token"6) 指定线程数和延迟时间
python dirsearch.py -u url -t 20 --delay 0.57) 包含和排除特定状态码:包含200302,排除404500响应
python dirsearch.py -u url -i 200,302 -x 404,5008) 使用代理进行扫描
python dirsearch.py -u url -p http://127.0.0.1:80809) 保存输出到文件
python dirsearch.py -u url -o output.txt10) 从标准输入读取URL
cat urls.txt | python dirsearch.py --stdin -t 1011) 设定最大运行时间和最大重试次数
python dirsearch.py -u url --max-time 300 --retries 512) 排除特定文本出现的响应
python dirsearch.py -u url --exclude-text "Not Found" --exclude-text "Error"13) 设置最小和最大响应长度
python dirsearch.py -u url --min-response-size 1000 --max-response-size 50000

四.总结

写到这里,这篇文章就介绍完毕,基础性文章,希望对您有所帮助。同时建议读者多实践,尝试各种类型的CTF题目。

2024年4月28日是Eastmount的安全星球——『网络攻防和AI安全之家』正式创建和运营的日子,该星球目前主营业务为 安全零基础答疑、安全技术分享、AI安全技术分享、AI安全论文交流、威胁情报每日推送、网络攻防技术总结、系统安全技术实战、面试求职、安全考研考博、简历修改及润色、学术交流及答疑、人脉触达、认知提升等。下面是星球的新人券,欢迎新老博友和朋友加入,一起分享更多安全知识,比较良心的星球,非常适合初学者和换安全专业的读者学习。

在这里插入图片描述
目前收到了很多博友、朋友和老师的支持和点赞,尤其是一些看了我文章多年的老粉,购买来感谢,真的很感动,类目。未来,我将分享更多高质量文章,更多安全干货,真心帮助到大家。虽然起步晚,但贵在坚持,像十多年如一日的博客分享那样,脚踏实地,只争朝夕。继续加油,再次感谢!

(By:Eastmount 2024-06-28 夜于贵阳 http://blog.csdn.net/eastmount/ )


参考资料:

  • [1] 《从0到1CTFer成长之路》 Null战队,电子工业出版社
  • [2] CTFHub_N1Book-常见的搜集&粗心的小李(robots.txt、index.php~、.index.php.swp文件泄露、git泄露)- zhengna
  • [3] N1BOOK第一关摸鱼:[第一章 web入门]常见的搜集 - MR.QQQQIU
  • [4] https://github.com/Jason1314Zhang/BUUCTF-WP
  • [5] [第一章 web入门]常见的搜集 1 - LI-AO1134
  • [6] BUUCTF N1BOOK [第一章 web入门] - Sk1y
  • [7] Dirsearch简单使用 - xiaopeisec
  • [8] [网络安全] Dirsearch 工具的安装、使用详细教程 - 酒酿小小丸子

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows系统【文件共享】局域网共享本地电脑文件夹以及密码和访问权限设置

windows系统【文件共享】局域网共享本地电脑文件夹以及密码和访问权限设置 介绍操作创建文件夹和文件设置文件夹的共享高级权限的设置密码保护设置密码和访客的设置 测试进入账号安全总结 介绍 身为职场的打工人&#xff0c;可能最常用的功能就是公司内跟同事的文件共享吧这样…

智能网络构建:探索大模型在网络领域的应用

网络领域以其高度复杂性和快速迭代为特点&#xff0c;完成从网络设计、配置、诊断到安全的网络任务需要广泛的专业知识。这些任务的固有复杂性&#xff0c;加上网络技术和协议不断变化的格局&#xff0c;为传统基于机器学习的方法带来了显著的障碍。这些方法在泛化和自动化网络…

Java学习 - Redis-Sentinel

主从复制存在的问题与解决 问题 发生故障时&#xff0c;需要手动进行故障转移写能力和存储能力受限 解决 redis官方推出redis-sentinel可以自动实现主从复制的故障恢复用于实现redis的高可用 redis-sentinel简介 sentinel是特殊的redis&#xff0c;不存储数据&#xff0c;支…

微信小程序根据蓝牙RSSI信号强度测试设备距离

背景 在做小程序连接蓝牙设备的时候&#xff0c;有需求表明在搜索到0.5米之内的设备时自动连接 问题&#xff1a; 蓝牙模组只提供了RSSI信号强度&#xff0c;那又该如何计算蓝牙设备距离小程序的距离呢&#xff1f; 解决方案 通过以下公式做大量测试&#xff1a;求 A、n 的平均…

​​Linux(CentOS)​​同步服务器时间之~​​chrony​​

Chrony 是一款开源的网络时间协议(NTP)客户端和服务端软件&#xff0c;旨在提供高精度的时间同步功能。相较于传统的 NTP 实现如 ntpd&#xff0c;Chrony 提供了一些改进和优势&#xff0c;包括更快的同步速度、低延迟、低CPU占用和低内存消耗。以下是 Chrony 的几个关键特性和…

DIY:在您的 PC 上本地使用 Stable Diffusion AI 模型生成图像

前言 随着DALL-E-2和Midjourney的发布&#xff0c;您可能听说过最近 AI 生成艺术的繁荣。这些人工智能模型如何在几秒钟内创造性地生成逼真的图像&#xff0c;这绝对是令人兴奋的。您可以在这里查看其中的一些&#xff1a;DALL-E-2 gallery和Midjourney gallery 但是这些模型…

【机器学习】自然语言处理的新前沿:GPT-4与Data Analysis

目录 1、生成二维码Prompt&#xff1a;请用二维码编码这个信息&#xff0c;我爱chatgpt2、分析PDFPrompt&#xff1a;请分析这篇pdf的主要内容&#xff0c;用中文输出分析结果&#xff0c;100字3、设计网站Prompt&#xff1a;请帮我设计一个网站&#xff0c;网站的主题是哪吒玩…

分享10个AI搞钱副业,门槛低,普通人也能学的会!易上手!

前言 本期给大家分享的是利用AI 做副业的一些方法&#xff0c;大家可以挑选适合自己的赛道去搞钱 现在是人工智能时代&#xff0c;利用好AI 工具&#xff0c;可以降低普通人做副业的门槛&#xff0c;同时也能提高工作效率&#xff0c; 因此AI 赚钱的副业还是挺多的&#xff0…

Java SE入门及基础(57) Java常用API 日期时间

目录 日期时间 1. Date 类 常用方法 示例 思考&#xff1a; 2. SimpleDateFormat 类 常用方法 常用日期格式 示例 3. Calendar 类 常用静态字段 常用方法 示例 日期时间 1. Date 类 常用方法 public Date (); // 无参构造&#xff0c;表示计算机系统当前时间…

PFA样品瓶带氟树脂接头试剂瓶可定制接1/4英寸管300ml

PFA带接头试剂瓶&#xff0c;也称作特氟龙洗气瓶&#xff0c;材质有PFA(可溶性聚四氟乙烯)和FEP(聚全氟乙丙烯)&#xff0c;市场上一般问的聚四氟乙洗气瓶就是PFA洗气瓶&#xff0c;造型上有是2个管子接入瓶内&#xff0c;长进短出&#xff0c;带有四氟滤球&#xff0c;管子尺寸…

手持小风扇哪个牌子比较好?五大热门手持小风扇品牌推荐

炎炎夏日&#xff0c;真的需要一款随身小风扇来拯救我们的高温困境&#xff01;不过&#xff0c;市面上的选择太多了&#xff0c;真的让人眼花缭乱。今天&#xff0c;我就给大家快速推荐五款热门的手持小风扇&#xff0c;它们不仅轻便易携&#xff0c;而且各有特色。有的是风力…

下穿隧道结构安全该如何保证,检测跟自动化监测该如何抉择

隧道监测背景&#xff1a; 隧道所处的地下环境较为复杂&#xff0c;易受地质条件恶化、结构损伤、退化失稳以及自然灾害等因素影响&#xff0c;引发隧道拱顶开裂、边墙开裂、衬砌损坏、隧道渗漏水、围岩大变形等病害&#xff0c;从而导致隧道安全事故发生&#xff0c;尤其在长期…

Flat Ads:拥抱 CTV,品牌增长新动力

近年来,CTV(联网电视)在数字营销界正迅速崛起,成为最受青睐和增长迅猛的推广形式之一。 随着更多联网设备的普及,越来越多观众正在从传统电视快速转移到流媒体环境,对传统电视广告取而代之的便是 CTV 广告。据 eMarketer 数据显示,未来四年,CTV 市值将从今年的 250 亿美元增长到…

大疆车载的第一款油车智驾:上汽大众途观L Pro的智能辅助驾驶系统

引言 在自驾行业中&#xff0c;有一个低调但迅速崭露头角的选手——大疆车载。自2016年成立以来&#xff0c;大疆车载&#xff08;现已更名为卓御&#xff09;通过其先进的智能驾驶技术&#xff0c;逐渐在市场上赢得了声誉。此次&#xff0c;上汽大众途观L Pro成为大疆车载首款…

一文带你彻底搞懂设计模式之单例模式!!由浅入深,图文并茂,超超超详细的单例模式讲解!!

一文带你彻底搞懂设计模式之单例模式&#xff01; 一、什么是单例模式&#xff1f;单例模式分类饿汉式创建单例对象懒汉式创建单例对象 多问一个为什么&#xff1f; 二、为什么要有单例模式&#xff1f;使用单例模式的原因单例模式的应用场景 三、多线程下的单例模式饿汉式懒汉…

鸿蒙:自定义组件、自定义函数、自定义样式

一、自定义组件 1.新建组件文件夹&#xff0c;新建自定义组件文件 . 2.编辑自定义组件&#xff0c;并通过 Component //声明组件 export struct PageHeader { //结构体private title: stringbuild() { //uiRow() {Image($rawfile(左返回.png)).width(15%)Text(this.title)…

Docker 安装最新版本 Jenkins

目录 1、下载、启动容器、更新到最新版本 2、查看初始密码两种方式&#xff1a; 3、默认安装的部分未汉化&#xff0c;删除默认的汉化插件。重启容器&#xff0c;重新安装汉化插件 4、安装 Publish over SSH、docker-build-step 、Docker Commons 插件 5、配置服务器连接信…

前端学习 Vue 插槽如何实现组件内容分发?

目录 一、Vue.js框架介绍二、什么是Vue 插槽三、Vue 插槽的应用场景四、Vue 插槽如何实现组件内容分发 一、Vue.js框架介绍 Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它设计得非常灵活&#xff0c;可以轻松地被集成到现有的项目中&#xff0c;也可以作为一个完整…

Vitis Accelerated Libraries 学习笔记--OpenCV 运行测试

目录 1. 简介 2. 实例测试 2.1 实例介绍 2.2 创建工程 2.2.1 创建工程 2.2.2 获取路径 2.2.3 设置路径 2.2.4 打开工程 2.2.5 添加文件 2.2.6 启动 GUI 2.2.7 配置 csim 参数 3 常见错误 3.1 核心共享库报错 4. 总结 1. 简介 在《Vitis Accelerated Libraries …