[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 -h

2) 扫描单个URL并限制线程数和扩展名
python dirsearch.py -u url -t 10 -e php,asp --exclude-extensions=html

3) 从URL列表文件中批量扫描
python dirsearch.py -l urls.txt -t 5 -e php

4) 使用自定义字典和深度递归扫描
python dirsearch.py -u url -w wordlist.txt -r --deep-recursive

5) 在请求中使用自定义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.5

7) 包含和排除特定状态码:包含200302,排除404500响应
python dirsearch.py -u url -i 200,302 -x 404,500

8) 使用代理进行扫描
python dirsearch.py -u url -p http://127.0.0.1:8080

9) 保存输出到文件
python dirsearch.py -u url -o output.txt

10) 从标准输入读取URL
cat urls.txt | python dirsearch.py --stdin -t 10

11) 设定最大运行时间和最大重试次数
python dirsearch.py -u url --max-time 300 --retries 5

12) 排除特定文本出现的响应
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 工具的安装、使用详细教程 - 酒酿小小丸子

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

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

相关文章

手把手教你考下39张免费亚马逊AWS证书和学习徽章

小李哥目前共考了39项亚马逊云(AWS)徽章&#xff0c;这也是普通用户可考的全部徽章。这篇文章会介绍如何报名、复习、通过这39张徽章提升云计算基本技能&#xff0c;了解全球第一大云厂亚马逊云科技前沿技术。这篇文章在领英爆&#x1f525;&#xff0c;有将近100k浏览量和11k的…

Linux:系统安全及应用

目录 一、系统账号管理 1.1、系统账号清理 1.2、密码安全控制 1.3、命令历史限制 二、限制su命令用户 三、PAM安全认证 四、sudo机制提升权限 4.1、sudo机制介绍 4.2、用户别名案例 4.3、启用sudo操作日志 4.4、其他案列sudo 4.5、开关机安全控制 4.6、限制更改GR…

root密码忘了怎么办(从系统引导过程解决)

目录 1.Linux系统密码忘记 2.系统引导过程 2.1 systemd 2.2 GRUB和GRUB2 2.3 运行级别 3.修复MBR扇区故障和GRUB引导故障 3.1 MBR扇区故障 3.2 GRUB引导故障 1.Linux系统密码忘记 我们在生活中经常遇到这类困扰&#xff0c;就是某个账号还是账户密码忘了&#xff0c;这…

Docker 部署 Nacos v2.3.2 版本

文章目录 Github官网文档Nacos 生态图Nacos Dockerdocker-compose.ymlapplication.propertiesNacos 官方示例 Github https://github.com/alibaba/nacos 官网 https://nacos.io/ 文档 https://nacos.io/docs/latest/what-is-nacos/ Nacos 生态图 Nacos Docker 镜像&…

《信创数据库沙龙上海站:共话发展,智启未来》

2024 年 6 月 29 日周六 14:00&#xff0c;信创数据库沙龙在上海市徐汇区建国西路 285 号科投大厦 13 楼金星厅成功举办。本次活动吸引了众多学术界和产业界的专家、学者以及技术爱好者参与。 活动中&#xff0c;多位嘉宾带来了精彩分享。薛晓刚探讨了 Oracle 在国内的前景&a…

Java全套智慧校园系统源码:微信小程序+电子班牌 让教育更智能化的一套数字化校园管理系统源码

Java全套智慧校园系统源码&#xff1a;微信小程序电子班牌 让教育更智能化的一套数字化校园管理系统源码 智慧校园管理系统是一种利用科技手段优化学校教育和管理的平台。它可以涵盖多个方面&#xff0c;例如教学、管理、服务等。其中包括智能化教室、智慧校园卡、校园安全监控…

基于flask的闪现、g对象、蓝图

【 一 】闪现&#xff08;flash&#xff09; # 1 flask中得闪现存放数据的地方&#xff0c;一旦取了&#xff0c;数据就没了-实现跨请求间传递数据 # 2 django中有没有类似的东西&#xff1f;message 消息框架# 3 基本使用1 设置&#xff1a;flash(欢迎你、欢迎来到澳门赌场&a…

Dns被莫名篡改的问题定位(笔记)

引言&#xff1a;最近发现用户的多台机器上出现了Dns被莫名修改的问题&#xff0c;从系统事件上看并未能正常确定到是那个具体软件所为&#xff0c;现在的需求就是确定和定位哪个软件具体所为。 解决思路&#xff1a; 首先到IPv4设置页面对Dns进行设置&#xff1a;通过ProcExp…

昇思25天学习打卡营第8天|MindSpore-SSD目标检测

SSD目标检测介绍 SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法。使用Nvidia Titan X在VOC 2007测试集上,SSD对于输入尺寸300x300的网络,达到74.3%mAP(mean Average Precision)以及59FPS;对于512x512的网络,达到了76.9%mAP ,超…

短视频电商源码怎么选择

随着移动互联网的迅猛发展&#xff0c;短视频电商成为了一种热门的商业模式。很多商家和创业者都希望能够快速搭建一个短视频电商平台来推广和销售自己的产品。然而&#xff0c;选择合适的短视频电商源码并不是一件容易的事情。在选择之前&#xff0c;有一些关键因素需要考虑。…

STC8/32 软硬件I2C通讯方式扫描I2C设备地址

STC8/32 软硬件I2C通讯方式扫描I2C设备地址 📄主要用于检测挂载在I2C总线上的设备。在驱动I2C设备之前,如果能扫描到该设备,说明通讯设备可以连接的上,在提前未知I2C地址的情况下,可以方便后面的驱动代码的完善。 🔬扫描测试效果:(测试mpu6050以及ssd1306 i2c oled )…

本科学历|艺术创业公司经理限定美国西部访问学者申请成功

U经理属于自费访学&#xff0c;本科学历&#xff0c;无文章及课题&#xff0c;但有较丰富的艺术创意及艺术教育实际操作经验&#xff0c;要求申美国西部地区的学校。最终我们为其获得俄勒冈州立大学访问学者邀请函。之前拟定的申请设想全部实现&#xff1a;西部地区、专业契合、…

【Lua小知识】Vscode中Emmylua插件大量报错的解决方法

起因 Vscode写Lua用的好好的&#xff0c;最近突然出现了大量报错。 看报错是有未定义的全局变量&#xff0c;这里查日志才发现是由于0.7.5版本新增诊断启用配置&#xff0c;所以导致了原先好的代码&#xff0c;现在出现了大量的报错。 解决方案一 最直接的方法当然是在配置中直…

【单片机毕业设计选题24040】-基于STM32的蓝牙防丢器设计

系统功能: 系统上电后显示“欢迎使用蓝牙防丢系统请稍后”两秒钟显示正常界面&#xff0c;如果蓝牙正常连接OLED显示Connected, 蓝牙未连接则显示DisConnected同时蜂鸣器报警 蓝牙正常连接后在APP上每隔三秒显示一个Connected 系统功能框图: 主要功能模块原理图: 电源时钟…

CSS|04 复合选择器伪类选择器属性选择器美化超链接

基本选择器&#xff1a;见上篇基本选择器 复合选择器选择器1,选择器2{属性:值;} 多元素选择器&#xff0c;同时匹配选择器1和选择器2&#xff0c;多个选择器之间用逗号分隔举例&#xff1a; p,h1,h2{margin:0px;}E F{属性:值;} 后代元素选择器&#xff0c;匹配所有属于E元素后…

【Python机器学习】模型评估与改进——分组交叉验证

分组交叉验证是非常常见的一种交叉验证策略&#xff0c;它适用于数据中的分组高度相关时。比如我们想构建一个从人脸图片中识别情感的系统&#xff0c;并且收集了100个人的照片的数据集&#xff0c;其中每个人都进行了多次拍摄&#xff0c;分别展示了不同的情感。我们的目标是构…

Python 文件操作

文件编码 将文件的内容翻译为二进制 文件操作 打开文件 open函数 语法&#xff1a; open(name, mode, encoding)name&#xff1a;文件名的字符串&#xff0c;可以包含具体路径。若没有路径&#xff0c;则默认为与py文件位于同一层 mode&#xff1a;打开文件的模式&#xf…

PP-JITTER \RMS-JITTER 及其他Jitter解析

Jitter概念 Jitter(抖动)是从时域评价时钟信号质量的重要参数。 首先要明确的是它是一个统计量,因此有标准差(均方根,rms)和范围(峰峰值,p2p); 然后根据样本的类型可以划分成不同的分类,如Jabs(absolute jitter)、Jp(period jitter)、Jc2c(cycle-to-cycle ji…

Forecasting from LiDAR via Future Object Detection

Forecasting from LiDAR via Future Object Detection 基础信息 论文&#xff1a;cvpr2022paper https://openaccess.thecvf.com/content/CVPR2022/papers/Peri_Forecasting_From_LiDAR_via_Future_Object_Detection_CVPR_2022_paper.pdfgithub&#xff1a;https://github.co…

UWB透传模块-通信距离1KM UWB650 透明传输 | 双向测距 | 定位模块

UWB650模块是思为无线推出的一款基于UWB&#xff08;Ultra Wide Band&#xff0c;超宽带&#xff09;技术的无线通讯模块&#xff0c;遵循IEEE 802.15.4-2020 Standard协议。UWB650模块是在UWB3000F27基础上研发&#xff0c;使该模块拥有0.5W的高功率功放芯片。用户无需去设计电…