尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

SRC漏洞挖掘入门:从信息收集到攻击面绘制的实战指南

SRC漏洞挖掘入门:从信息收集到攻击面绘制的实战指南
📅 发布时间:2026/7/2 23:31:52

1. 项目概述:从“大海捞针”到“精准定位”

刚接触SRC(安全应急响应中心)漏洞挖掘的新手,最常问的一个问题就是:“我该从哪里开始?” 我的回答永远是:信息收集。你可以把它想象成侦探破案前的现场勘查,或者战士上战场前的地形侦察。没有扎实的信息收集,后续的漏洞扫描、手工测试都像是蒙着眼睛打靶,效率极低,甚至可能因为目标不清而“误伤”自己。

SRC漏洞挖掘的本质,是站在防御者的视角,帮助厂商发现其资产中潜在的安全风险。而信息收集,就是帮你清晰地描绘出“攻击面”——即所有可能被攻击的入口点。对于新手而言,掌握一套系统、高效的信息收集方法,远比盲目学习各种漏洞利用技巧更重要。它能让你快速锁定目标范围,发现那些容易被忽略的“边边角角”,而这些地方,往往就是漏洞的藏身之处。

这篇文章,我将结合自己从新手一路走来的经验,为你拆解一套可以直接上手、步步为营的信息收集流程。我们不会涉及任何复杂的工具链搭建,而是聚焦于那些经过实战检验、能立刻产生效果的核心技巧和免费工具。目标是让你在最短时间内,建立起对目标资产的立体化认知,为后续的漏洞挖掘打下坚实基础。

2. 信息收集的核心思路与目标拆解

在开始具体操作前,我们必须明确信息收集的目标。它不是漫无目的地搜集数据,而是有策略地构建目标画像。我把这个过程总结为四个层次,由外向内,由粗到细。

2.1 目标画像的四个层次

第一层:资产发现(What's there?)这是最基础的一层。你需要回答:目标公司(或SRC项目)到底有哪些对外的数字资产?这绝不仅仅是一个主域名。它包括:

  • 域名与子域名:主站、各类业务子站(如m.移动端、admin.后台、api.接口服务、dev.开发环境等)。
  • IP地址与C段:服务器真实的IP地址,以及同一网段(C段)内可能属于该公司的其他服务器。
  • 关联资产:收购的子公司、投资的项目、使用的第三方服务(如CDN、云存储、邮件服务)等。

第二层:技术架构识别(How it's built?)知道了“有什么”,接下来要弄清“怎么建的”。这能帮你预测可能存在的漏洞类型。

  • 前端技术栈:JavaScript框架(React, Vue, Angular)、UI库、前端构建工具。
  • 后端技术栈:Web服务器(Nginx, Apache)、中间件(Tomcat, Weblogic)、编程语言(Java, PHP, Python, Go)、框架(Spring Boot, Django, Laravel)。
  • 第三方服务:使用的CDN(Cloudflare, Akamai)、云服务商(AWS, 阿里云)、统计分析(Google Analytics, 百度统计)、WAF(Web应用防火墙)等。

第三层:敏感信息挖掘(Where are the secrets?)这是最容易出成果的一层,也是新手最容易忽略的。很多漏洞源于信息的意外泄露。

  • 目录与文件泄露:备份文件(.zip,.tar.gz,.bak)、配置文件(.env,config.php)、版本控制文件(.git/,.svn/)、编辑器临时文件等。
  • 代码与注释信息:前端JavaScript代码中硬编码的API密钥、数据库密码、内部接口地址;HTML注释中的测试账号、调试信息。
  • 历史记录与快照:搜索引擎(如Google)缓存的页面历史版本、GitHub等代码托管平台泄露的员工代码、内部文档。

第四层:人员与组织信息(Who's behind it?)高级的信息收集会涉及社会工程学层面,对于SRC挖掘,我们主要关注公开的、合规的信息。

  • 员工信息:在领英、技术社区(如GitHub)上公开的员工账号,其技术栈、项目经历可能暗示公司内部使用的技术。
  • 组织架构:通过招聘信息(如BOSS直聘、拉勾网)了解公司在招的岗位,推测其正在发展的技术方向或可能存在人才短板的系统。

注意:第四层信息的收集和使用必须严格遵守法律法规和SRC平台规则,绝对禁止对个人进行骚扰、钓鱼等行为。我们的目的仅是通过公开信息辅助技术判断。

2.2 工具选型原则:免费、高效、可集成

新手常犯的错误是追求工具的“大而全”,安装了十几个工具却不知道先用哪个。我的建议是:精而不多,熟能生巧。

  • 在线工具优先:对于初步侦查,像DNSDumpster,VirusTotal,Shodan,Censys这样的在线平台无需安装,数据全面,是首选。
  • 本地脚本辅助:当需要批量、深度扫描时,再使用subfinder,amass,httpx,nuclei这类命令行工具。它们速度快,可定制性强,但需要一定的学习成本。
  • 浏览器插件必备:Wappalyzer(技术栈识别)、FoxyProxy(代理切换)、EditThisCookie(Cookie管理)是手工测试的“瑞士军刀”,必须熟练掌握。

3. 核心信息收集技巧实操详解

下面,我们按照实际操作流程,一步步拆解每个环节的核心技巧和工具使用。

3.1 第一步:域名与子域名挖掘

这是信息收集的基石。子域名往往对应着不同的业务系统、测试环境或管理后台,是漏洞的高发区。

1. 证书透明度日志(CT Log)查询这是目前最有效的子域名发现手段之一。当公司为其域名申请SSL/TLS证书时,证书颁发机构(CA)会将记录公开到CT日志中。这些日志包含了证书申请时使用的所有域名和子域名。

  • 工具:crt.sh是最常用的免费网站。只需输入主域名(如example.com),它就能返回所有关联的证书记录。
  • 技巧:在结果中,不仅要看*.example.com这样的通配符记录,更要关注那些具体的、奇怪的子域名,如dev-ops.example.com,staging-api.example.com,它们往往安全性较弱。
  • 实操命令(本地工具):
    # 使用 subfinder,它集成了多种数据源包括证书日志 subfinder -d example.com -silent | tee subdomains.txt # 使用 httpx 快速验证存活 cat subdomains.txt | httpx -silent -title -status-code -tech-detect -o live_subdomains.txt
    httpx的-tech-detect参数能同时识别技术栈,一举两得。

2. 搜索引擎语法与网络空间测绘

  • Google Dorking:利用Google高级搜索语法发现敏感文件或目录。
    • site:example.com filetype:pdf:搜索站点上的PDF文件。
    • site:example.com inurl:admin:搜索URL中包含admin的页面。
    • site:example.com “index of /” “parent directory”:寻找目录遍历漏洞。
  • 网络空间测绘引擎:Shodan和Censys直接扫描互联网上的设备。你可以搜索:
    • org:"Company Name":查找属于该组织的所有IP资产。
    • ssl:"example.com":查找使用该域名证书的服务。
    • http.title:"example":查找标题中包含特定关键词的Web服务。
    • 新手注意:这些引擎的免费账户有查询次数限制,用于关键信息查询即可,不要滥用。

3. 字典爆破与智能猜测当公开渠道穷尽后,可以尝试基于常见子域名字典进行爆破。

  • 工具:altdns是一款优秀的工具,它不仅能使用字典,还能通过排列组合(如dev,test,staging与主域名组合)生成新的候选子域名。
  • 技巧:收集目标已发现的子域名,分析其命名规律(如city1.api.example.com,city2.api.example.com),然后自定义字典进行针对性爆破。

3.2 第二步:IP资产与网络拓扑探测

确定了域名,下一步是找到它背后的真实服务器IP,并探查其网络邻居。

1. 绕过CDN查找真实IP很多网站使用CDN(内容分发网络)隐藏真实服务器。找到真实IP可能发现直接暴露的、防护较弱的后端服务。

  • 方法:
    • 历史DNS记录查询:使用SecurityTrails,ViewDNS等工具查看域名的历史A记录,可能在启用CDN前暴露过真实IP。
    • 子域名关联:很多公司只为www.主站配置CDN,而api.,mail.,dev.等子域名可能直接解析到真实IP。
    • SSL证书关联:在Shodan或Censys中搜索目标域名的SSL证书哈希值,可能会找到使用同一张证书的其他IP(可能是源站)。
  • 验证:找到疑似IP后,在本地修改hosts文件,将域名指向该IP,然后访问看内容是否与CDN后的一致。

2. C段存活主机扫描确认了某个真实IP(例如192.168.1.100)后,可以扫描其所在的C段(192.168.1.0/24),寻找属于同一公司的其他服务器。

  • 工具:nmap是行业标准。
  • 实操命令:
    # 快速扫描C段80,443,8080等常见Web端口 nmap -sn 192.168.1.0/24 --open -oG c_scan.txt # 从结果中提取存活IP,进行Web服务探测 grep “Up” c_scan.txt | awk ‘{print $2}’ | httpx -title -status-code -tech-detect
  • 注意事项:C段扫描行为较为敏感,务必确认目标SRC政策是否允许。对于云服务商(如AWS, Azure)的IP,C段内可能全是其他公司资产,扫描价值不大且风险高。

3.3 第三步:Web应用指纹与技术栈识别

了解目标用什么技术开发,就能推断其可能存在的漏洞。例如,ThinkPHP框架有特定的漏洞历史,Vue.js构建的前端可能暴露API接口。

1. 自动化工具体验

  • Wappalyzer (浏览器插件):访问页面即可自动识别,最方便。
  • WhatWeb (命令行工具):可批量扫描,识别精度高。
    whatweb -a 3 https://example.com
  • httpx 的-tech-detect参数:如前所述,在验证子域名存活时即可完成识别。

2. 手工观察点自动化工具并非万能,需要手工辅助确认:

  • HTTP响应头:查看Server,X-Powered-By,Set-Cookie(如JSESSIONID暗示Java)等字段。
  • 页面源代码:
    • 查看引用的JavaScript/CSS文件路径,如包含/wp-content/大概率是WordPress。
    • 查看<meta>标签中的生成器信息,如<meta name="generator" content="WordPress 5.7">。
    • 注意注释中的框架、版本信息。
  • URL路径与文件扩展名:.php,.jsp,.aspx,.do,.action等直接暴露了后端语言。
  • 错误页面:故意触发一个404或错误,返回的页面可能包含框架、服务器版本等调试信息(在生产环境较少见,但测试环境常有)。

3.4 第四步:敏感目录、文件与信息泄露挖掘

这是SRC挖掘中“低垂的果实”,很多高危漏洞源于此。

1. 目录扫描与爆破

  • 工具:dirsearch,gobuster,ffuf。
  • 实操命令:
    # 使用 dirsearch,指定扩展名和字典 python3 dirsearch.py -u https://example.com -e php,js,bak,tar.gz,zip,sql -w /path/to/common.txt # 使用 ffuf,速度更快 ffuf -u https://example.com/FUZZ -w /path/to/wordlist.txt -e .php,.bak,.zip -fc 403
    -fc 403表示过滤掉状态码为403(禁止访问)的结果,这些通常是无意义的。
  • 字典选择:不要只用默认字典。根据识别出的技术栈使用针对性字典(如针对WordPress的wpscan字典,针对Spring的字典)。

2. 查找Git泄露.git目录泄露可能导致源代码完全暴露。

  • 工具:GitHacker或dvcs-ripper。
  • 手工验证:访问https://example.com/.git/HEAD,如果返回ref: refs/heads/master之类的内容,则证明存在泄露。
  • 危害:获取源码后,可以分析硬编码的密钥、数据库配置、内部接口、未公开的API等,危害极大。

3. 搜索引擎与代码平台挖掘

  • GitHub/GitLab搜索:
    • 搜索公司名、域名、项目名。
    • 搜索password,api_key,secret,database,config等关键词,并限定语言和用户。
    • 技巧:使用filename:.env搜索环境配置文件,使用extension:json privatekey搜索密钥文件。
  • Google Dorking 进阶:
    • site:github.com “example.com” “password”
    • site:example.com “api” “key”

4. 信息整理、分析与攻击面绘制

收集到海量数据后,如何管理并从中发现价值是关键。杂乱的数据堆砌毫无意义。

4.1 数据整理与可视化

  1. 统一格式:将不同工具输出的结果(子域名、IP、URL)进行去重、合并,整理到一个结构化的文件中,如CSV或JSON。
  2. 分类标记:对资产进行分类标记,例如:
    • 业务类型:主站、API、后台、移动端、测试环境。
    • 技术栈:Java/Spring, PHP/Laravel, Nginx, Vue。
    • 敏感等级:高(如管理后台、API网关)、中(用户业务)、低(静态宣传页)。
  3. 可视化工具:使用Obsidian,Notion或简单的思维导图工具,将资产、技术、关联关系画出来。一张清晰的攻击面地图能让你瞬间找到突破口。

4.2 攻击面分析与优先级排序

不是所有发现的资产都值得投入同等精力测试。需要建立优先级:

  1. 高风险入口:
    • 管理后台:admin,manage,backend等子域名或路径。
    • API接口:api,graphql,rest等,特别是未鉴权或文档清晰的。
    • 测试/开发环境:dev,test,staging,uat,这些环境安全措施通常较弱。
    • 新上线业务:新功能、新页面往往未经充分安全测试。
  2. 脆弱技术栈:根据指纹识别结果,快速检索该框架/组件/中间件的已知公开漏洞(CVE),特别是那些有公开利用代码(PoC/Exp)的。
  3. 非常规资产:那些不属于公司主流命名规范的子域名、隐藏在C段里的孤立IP、第三方服务商下的页面,这些容易被运维人员遗忘,是“隐秘的角落”。

4.3 建立持续监控机制

信息收集不是一次性的工作。公司的资产在不断变化:新业务上线、旧业务下线、服务器迁移、技术栈升级。

  • 定期运行:可以编写简单的Shell脚本或Python脚本,将上述工具链组合起来,每周或每两周自动运行一次,对比新旧结果,发现新增资产。
  • 利用监控平台:有些在线服务(如Sublist3r的监控功能、或自建TheHive+Cortex)可以提供资产监控和告警。
  • 关注动态:关注目标公司的新闻、招聘信息、App更新日志,这些都可能暗示其技术或业务方向的变化。

5. 新手常见问题与避坑指南

在实际操作中,新手会遇到各种问题。这里记录一些典型的“坑”和解决方案。

5.1 工具使用与效率问题

  • 问题:扫描速度太慢或卡住。

    • 原因:默认线程数或超时时间设置不合理;字典太大;网络不稳定。
    • 解决:
      1. 对于子域名枚举、目录爆破,合理设置线程(-t参数)。通常从10-20开始,根据网络情况和目标响应调整,并非越高越快。
      2. 设置合理的超时(-timeout)和重试次数。
      3. 优先使用高质量的精简字典,而非庞大的万能字典。先用小字典快速扫描,再对可疑目标用大字典深度扫描。
      4. 使用httpx等工具先进行存活探测,只对存活的Web服务进行目录爆破,能极大提升效率。
  • 问题:工具报错或没有结果。

    • 原因:依赖环境缺失;API密钥未配置或失效;目标有防护(如WAF、速率限制)。
    • 解决:
      1. 仔细阅读工具的安装说明和依赖要求。
      2. 使用subfinder,amass等需要API的工具时,确保在配置文件中正确填写了密钥(如VirusTotal, Shodan的API)。
      3. 如果怀疑被WAF拦截,尝试降低请求频率,添加随机延迟,或更换IP地址(使用代理池)。对于目录扫描,可以尝试使用-random-agent参数随机化User-Agent。

5.2 策略与合规性问题

  • 问题:我的扫描行为会被发现吗?会违法吗?

    • 这是最重要的问题!未经授权的渗透测试是违法的。SRC挖掘必须在厂商授权的范围内进行。
    • 解决:
      1. 仔细阅读SRC公告:每个SRC都有其测试范围(Scope)、禁止测试项(Out of Scope)和测试规则。只测试Scope内的资产,严禁测试Scope外的(如合作伙伴系统、员工邮箱等)。
      2. 控制扫描强度:信息收集阶段的扫描应是非入侵性的。避免使用漏洞扫描器(如AWVS, Nessus)进行全端口暴力扫描或发起大量攻击载荷测试。以发现资产为目的,而非攻击系统。
      3. 使用合法代理:如果需要,使用可靠的网络代理服务,但绝对不要试图使用任何非法手段绕过网络管控或访问受限资源。
      4. 心存敬畏:如果发现严重漏洞(如获取了数据库权限),立即停止进一步操作,并按照SRC流程上报。切勿下载或泄露任何用户数据。
  • 问题:收集到的员工信息怎么用?

    • 原则:仅用于辅助技术判断。例如,发现某员工GitHub上有公司测试项目的代码,可以查看其技术栈,推测公司内部可能使用的框架。绝对禁止用于钓鱼、社工攻击或任何形式的骚扰。

5.3 信息过载与突破口选择

  • 问题:资产太多,不知道从何下手。

    • 原因:缺乏分析方法和优先级判断。
    • 解决:回到第4.2节。先按高风险入口、脆弱技术栈、非常规资产进行过滤和排序。选择一个最“有感觉”的点(比如一个用着老旧框架的测试后台)进行深度测试,而不是在所有资产上蜻蜓点水。
  • 问题:常见的目录、子域名都扫了,没发现什么。

    • 原因:思维固化,只用了常见字典。
    • 解决:
      1. 自定义字典:从已发现的资产中提取关键词(公司名缩写、产品名、业务术语),生成专属字典。
      2. 关注JS文件:现代Web应用大量逻辑在前端。用浏览器开发者工具(Network面板)仔细查看加载的所有JS文件,里面可能包含新的API端点、内部路径、甚至硬编码的敏感参数。
      3. 参数分析:对发现的每一个URL,观察其参数(?id=1&name=admin)。尝试对参数进行模糊测试(fuzzing),可能发现未授权的API接口或信息泄露。

信息收集是SRC漏洞挖掘的基石,也是一项需要耐心、细心和创造力的工作。它没有绝对的终点,其深度和广度直接决定了你后续测试的效率和成果。对于新手而言,不必追求一次就做到完美。先从一个小目标开始,熟练运用一两个工具,理解其原理,然后逐步扩展你的技能栈和知识面。记住,最宝贵的工具是你的大脑和好奇心。当你养成了对数字资产“顺藤摸瓜”的思维习惯,你会发现,漏洞就在那里,等着被有心人发现。

相关新闻

  • 多语言JVM项目安全检测实战:Find Security Bugs集成与漏洞修复指南
  • HTTP接口自动化测试工具选型与Pytest实战框架搭建指南
  • TikTokDownload终极指南:5分钟学会抖音去水印批量下载与Cookie自动获取

最新新闻

  • AI智能体工作流开发实战:从原理到应用
  • [AI][昇腾950]MixCore 最高效同步
  • AI工程能力五维体检表:数据可信、小样本鲁棒、多模态对齐、边缘实时、人机协同
  • 从0到上线仅4小时:某跨国企业用ChatGPT+本地ASR搭建会议纪要流水线(吞吐量200+场/日,错误率<0.8%)
  • 终极指南:如何使用TradSimpChinese插件快速实现Calibre繁简中文转换
  • MC6470与PIC18F87J50组合在嵌入式系统中的应用

日新闻

  • JMeter接口测试实战:从核心元件到复杂场景构建
  • Java Applet版刽子手游戏源码:含完整项目结构、吊杆绘图与胜负逻辑
  • 使用Apache JMeter对RoadRunner PHP应用进行性能测试与调优指南

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号