CTF -信息收集
一、基础实操思路
1、常用探测手段实操逻辑
robots文件探测robots.txt是网站给搜索引擎爬虫设立的抓取规则文件,本身不具备安全防护作用,但CTF题目里经常会把关键线索藏在这里。操作方式十分简单,直接在网站根域名后拼接/robots.txt访问即可,很多时候能拿到碎片flag、隐藏页面地址。
Vim缓存文件溯源如果站点使用Vim编辑器修改PHP、HTML等网页文件,非正常关闭编辑器时,服务器会留存.swp格式临时缓存文件。只要网站没有限制这类文件访问,我们直接访问「文件名.swp」就能下载到完整原始源码,从源码里找到核心提示。除了.swp,还有.swo、.swn这类不同阶段的缓存文件,都可以尝试遍历。
文件与目录扫描排查
网站上线时常会遗留各类备份包、版本控制文件夹,里面藏着大量内部信息。我们可以手动尝试常见备份后缀,也能借助自动化扫描工具批量遍历站点路径,找出被遗漏的隐藏文件、隐秘目录。页面与数据包细读
打开网页按F12查看前端源码、抓包查看完整HTTP响应头与响应内容,页面注释、响应头字段里偶尔会埋入隐晦线索,能辅助我们理清题目逻辑,补充缺失信息。2、两道核心探测文件细节拆解(1)robots.txt实战价值它本质只是爬虫友好协议,仅用来限制搜索引擎抓取范围,没有任何防护功能。CTF出题人常利用这个特性,把flag后半段、后台管理路径、敏感文件地址放置其中,无需复杂漏洞利用,直接访问就能读取内容。
就像本次例题中,robots页面返回一串字符,正是flag的后半截内容。(2).swp缓存文件泄露成因
Vim编辑器为了防止文件意外丢失,编辑过程中会自动生成交换缓存文件用于故障恢复。一旦编辑中断、强制退出,缓存文件不会自动删除,留在服务器目录中。若运维人员没有清理、也没配置访问拦截,外部人员就能直接下载读取源码。
本次例题里,index.php.swp文件就直接曝光了网站源代码,从中提取出flag的前半部分内容。
二、拓展:更多网站风险文件与扫描工具
1、容易泄露信息的站点文件/文件夹
• .git:Git版本控制文件夹,下载后可以还原网站全部源码、翻阅历史修改记录,大量源码泄露题围绕它展开;• .DS_Store:Mac系统自动生成的目录配置文件,容易泄露服务器目录结构、隐藏文件名称;• 整站压缩包:像www.zip、web.rar这类全站打包备份,一旦能访问,可一次性获取整套网站源码;• phpinfo.php:PHP环境探针文件,会暴露服务器系统、环境变量、软件版本等大量敏感配置;• 波浪号备份文件:如index.php~,部分编辑器自动生成的备份副本,极易造成源码外泄。
2、三款实用站点扫描工具1. dirsearch:Python编写的轻量目录扫描工具,支持自定义字典、多线程高速扫描,是CTF圈内使用率最高的工具,一行命令即可对目标站点进行路径爆破;2. 御剑:Windows平台可视化扫描工具,操作门槛低,新手可以快速上手扫描敏感路径;3. nikto:专业服务器安全扫描工具,可自动检测网站漏洞、敏感文件、中间件版本信息。
3、信息收集实操小技巧1. 先手动简易探测,再工具批量扫描:先手动试robots、各类常见备份文件,简单线索拿到手后,再用工具深度遍历,避免因依赖工具漏掉直白提示;2. 结合网站开发语言针对性探测:PHP站点重点排查swp、bak、git类文件;Java站点重点关注WEB-INF、pom.xml等专属配置文件;3. 保持细致,不放过任何字符:robots里的一串字符、源码注释里的短句、响应头里的异常字段,都有可能是拼凑flag的关键碎片。
三、完整例题实操演示步骤1:访问靶机首页打开目标链接后,页面只留下一句提示“源码在哪里?”,没有任何有效解题信息,由此判断我们需要通过信息收集挖掘隐藏内容。步骤2:尝试访问robots.txt在地址后拼接/robots.txt进行访问,页面输出一串字符,确认这是flag的后半段碎片。
步骤3:尝试读取Vim缓存文件结合Web常见缓存漏洞思路,访问index.php.swp,顺利获取缓存文件,打开后从完整源码里读出flag前半段内容。步骤4:拼接两段碎片得到完整flag把从swp源码拿到的前半段、robots.txt拿到的后半段内容拼接整合,最终得到完整flag,完成解题。文末小结信息收集是Web CTF入门必备能力,核心思路就是全面排查网站遗留的各类协议文件、编辑器缓存、站点备份资源。解题时不能只依赖工具,手动基础探测必不可少。很多题目会把flag拆分成多段,分散在不同文件里,需要我们逐一搜集碎片再整合。熟练掌握各类敏感文件特征、扫描工具用法,养成标准化的探测流程,就能轻松应对大部分基础信息收集类Web赛题
