自贡网站建设/济南网络推广网络营销
这是作者新开的一个专栏《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) 包含和排除特定状态码:包含200和302,排除404和500响应
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 工具的安装、使用详细教程 - 酒酿小小丸子
相关文章:

[BUUCTF从零单排] Web方向 02.Web入门篇之『常见的搜集』解题思路(dirsearch工具详解)
这是作者新开的一个专栏《BUUCTF从零单排》,旨在从零学习CTF知识,方便更多初学者了解各种类型的安全题目,后续分享一定程度会对不同类型的题目进行总结,并结合CTF书籍和真实案例实践,希望对您有所帮助。当然࿰…...

深度相机识别物体——实现数据集准备与数据集分割
一、数据集准备——Labelimg进行标定 1.安装labelimg——pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple 2.建立相应的数据集存放文件夹 3.打开labelimg,直接在命令行输入labelimg即可,并初始化 4.开始标注,设置标注好…...

STM32第十一课:ADC采集光照
文章目录 需求一、ADC概要二、实现流程1.开时钟,分频,配IO2.配置ADC工作模式3.配置通道4.复位校准5.数值的获取 三、需求的实现总结 需求 通过ADC转换实现光照亮度的数字化测量,最后将实时测量的结果打印在串口上。 一、ADC概要 ADC全称是A…...

python查找支撑数 青少年编程电子学会python编程等级考试三级真题解析2022年3月
目录 python查找支撑数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python查找支撑数 2022年3月 python编程等级考试级编程题 一、题目要求…...

创建一个快速、高效的网络爬虫:PHP和Selenium示例
随着互联网的不断发展,数据爬取已经成为了许多人的必备技能。而网络爬虫则是实现数据爬取的重要工具之一。 网络爬虫可以自动化地访问网站、获取内容、分析页面并提取所需数据。其中,Selenium是一款非常优秀的网络自动化测试工具,能够模拟真…...

两张图片怎样拼在一起?将两张图片拼在一起的几种方法介绍
两张图片怎样拼在一起?拼接两张图片是一种常见的编辑技巧,能够将不同的视觉元素融合成一个整体,从而创造出更加生动和丰富的图像效果。无论是为了设计创意作品、制作社交媒体内容,还是简单地为个人相册增添趣味,掌握如…...

百日筑基第五天-关于maven
百日筑基第五天-关于maven Maven 是什么 Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),反映在配置中,就是一个 pom.xml 文件。是一组标准集合,一个项目的生命周期、一个依赖…...

【CSS in Depth 2 精译】2.2 em 和 rem + 2.2.1 使用 em 定义字号
当前内容所在位置 第一章 层叠、优先级与继承第二章 相对单位 2.1 相对单位的威力 2.1.1 响应式设计的兴起 2.2 em 与 rem ✔️ 2.2.1 使用 em 定义字号 ✔️2.2.2 使用 rem 设置字号 2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 2.…...

C++Primer Plus 第十四章代码重用:14.4.4 数组模板示例和非类型参数
系列文章目录 14.4.4 数组模板示例和非类型参数 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录14.4.4 数组模板示例和非类型参数 14.4.4 数组模板示例和非类型参数 模板常用作容器类,这…...

短视频哪个软件好用?成都柏煜文化传媒有限公司
短视频哪个软件好用?一文带你了解各大平台特色 随着移动互联网的飞速发展,短视频已经成为现代人生活中不可或缺的一部分。市面上涌现出众多短视频平台,它们各具特色,满足了不同用户的需求。那么,短视频哪个软件好用呢…...

金融科技:重塑用户体验,驱动满意度飙升
随着科技的飞速发展,金融科技(FinTech)已经深入到我们生活的每一个角落,从日常支付到投资理财,再到跨境汇款,它都在悄无声息地改变着我们的金融行为。而在这背后一个不可忽视的驱动力就是金融科技对用户体验…...

JavaScript——算术运算符
目录 任务描述 相关知识 - * / %运算符 递增运算符和递减运算符 编程要求 任务描述 本关任务:给定两个字符串变量,把它们转为数字后相除,拼接被除数、除数和余数为一个新的字符串。 例如:a 为 "5",b 为…...

备份SQL Server数据库并还原到另一台服务器
我可以将SQL Server数据库备份到另一台服务器吗? 有时您可能希望将 SQL数据库从一台服务器复制到另一台服务器,或者将计算机复制到计算机。可能的场景包括测试、检查一致性、从崩溃的机器恢复数据库、在不同的机器上处理同一个项目等。 是的,…...

二刷算法训练营Day45 | 动态规划(7/17)
目录 详细布置: 1. 139. 单词拆分 2. 多重背包理论基础 3. 背包总结 3.1 背包递推公式 3.2 遍历顺序 01背包 完全背包 详细布置: 1. 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单…...

大模型项目落地时,该如何估算模型所需GPU算力资源
近期公司有大模型项目落地。在前期沟通时,对于算力估算和采购方案许多小伙伴不太了解,在此对相关的算力估算和选择进行一些总结。 不喜欢过程的可以直接 跳到HF上提供的模型计算器 要估算大模型的所需的显卡算力,首先要了解大模型的参数基础知识。 大模型的规模、参数的理解…...

LLM应用开发-RAG系统评估与优化
前言 Hello,大家好,我是GISer Liu😁,一名热爱AI技术的GIS开发者,在上一篇文章中,我们学习了如何基于LangChain构建RAG应用,并且通过Streamlit将这个RAG应用部署到了阿里云服务器;&am…...

秋招突击——第七弹——Redis快速入门
文章目录 引言Redis是什么 正文对象String字符串面试重点 List面试考点 压缩列表ZipList面试题 Set面试题讲解 Hash面试重点 HASHTABLE底层面试考点 跳表面试重点 ZSET有序链表面试重点 总结 引言 在项目和redis之间,我犹豫了一下,觉得还是了解学习一下…...

软考初级网络管理员__操作系统单选题
1.在Windows资源管理器中,假设已经选定文件,以下关于“复制”操作的叙述中,正确的有()。 按住Ctr键,拖至不同驱动器的图标上 按住AIt键,拖至不同驱动器的图标上 直接拖至不同驱动器的图标上 按住Shift键࿰…...

从入门到精通:网络编程套接字(万字详解,小白友好,建议收藏)
一、预备知识 1.1 理解源IP地址和目的IP地址 在网络编程中,IP地址(Internet Protocol Address)是每个连接到互联网的设备的唯一标识符。IP地址可以分为IPv4和IPv6两种类型。IPv4地址是由32位二进制数表示,通常分为四个八位组&am…...

dledger原理源码分析系列(一)架构,核心组件和rpc组件
简介 dledger是openmessaging的一个组件, raft算法实现,用于分布式日志,本系列分析dledger如何实现raft概念,以及dledger在rocketmq的应用 本系列使用dledger v0.40 本文分析dledger的架构,核心组件;rpc组…...

第七节:如何浅显易懂地理解Spring Boot中的依赖注入(自学Spring boot 3.x的第二天)
大家好,我是网创有方,今天我开始学习spring boot的第一天,一口气写了这么多。 这节通过一个非常浅显易懂的列子来讲解依赖注入。 在Spring Boot 3.x中,依赖注入(Dependency Injection, DI)是一个核心概念…...

Postman自动化测试实战:使用脚本提升测试效率
在软件开发过程中,接口测试是确保后端服务稳定性和可靠性的关键步骤。Postman作为一个流行的API开发工具,提供了强大的脚本功能来实现自动化测试。通过在Postman中使用脚本,测试人员可以编写测试逻辑,实现测试用例的自动化执行&am…...

CSMA/CA并不是“公平”的
CSMA/CA会造成过于公平,对于最需要流量的节点,是最不友好的,而对于最不需要流量的节点,则是最友好的。 CSMA/CA是优先公平来工作的。 CSMA/CA首先各节点使用DIFS界定air idle,在此期间大家都等待 其次,为了同时发送引起碰撞,在DIFS之后随机从CWmin和CWmax之间选择一个时…...

【漏洞复现】I doc view——任意文件读取
声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 I doc view 在线文档预览是一个用于查看、编辑、管理文档的工具…...

图数据库 vs 向量数据库
最近大模型出来之后,向量数据库重新翻红,业界和市场上有不少声音认为向量数据库会极大的影响图数据库,图数据库市场会萎缩甚至消失,今天就从技术原理角度来讨论下图数据库和向量数据库到底差别在哪里,适合什么场景&…...

企业品牌出海第一站 维基百科词条创建
维基百科是一部内容开放、自由的网络百科全书,旨在创造一个涵盖所有领域知识,服务所有互联网用户的知识性百科全书。其在国外应用非常广泛且认可度很高,国内品牌出海或国际品牌都很有必要创建企业自己的维基百科页面,以及企业高管的个人维基百科页面。 如…...

Windows下activemq集群配置(broker-network)
1.activemq版本信息 activemq:apache-activemq-5.18.4 2.activemq架构 3.activemq集群配置 activemq集群配置基于Networks of Brokers 这种HA方案的优点:是占用的节点数更少(只需要2个节点),而且2个broker都可以响应消息的接收与发送。不足ÿ…...

心理辅导平台系统
摘 要 中文本论文基于Java Web技术设计与实现了一个心理辅导平台。通过对国内外心理辅导平台发展现状的调研,本文分析了心理辅导平台的背景与意义,并提出了论文研究内容与创新点。在相关技术介绍部分,对Java Web、SpringBoot、B/S架构、MVC模…...

代理IP对SEO影响分析:提升网站排名的关键策略
你是否曾经为网站排名难以提升而苦恼?代理服务器或许就是你忽略的关键因素。在竞争激烈的互联网环境中,了解代理服务器对SEO的影响,有助于你采取更有效的策略,提高网站的搜索引擎排名。本文将为你详细分析代理服务器在SEO优化中的…...

【leetcode--三数之和】
这道题记得之前做过,但是想不起来了。。总结一下: 函数的主要步骤和关键点: 排序:对输入的整数数组nums进行排序。这是非常重要的,因为它允许我们使用双指针技巧来高效地找到满足条件的三元组。初始化:定…...