免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

【SRC漏洞挖掘系列·第8期】SRC实战中的信息收集:从子域名到指纹识别的完整方法论

【SRC漏洞挖掘系列·第8期】SRC实战中的信息收集:从子域名到指纹识别的完整方法论 系列导读第3期我们在本地靶场上走了一遍完整流程但真实SRC的第一步往往不是抓包而是信息收集。今天第8期我们系统讲清楚拿到一个授权目标后怎么一步步摸清它的家底找到最容易出洞的入口。很多新手拿到目标后的第一反应是打开Burp开始点点点。结果点了半天不知道从哪里深入最后只能放弃。问题出在你没有先做信息收集。信息收集的目的不是收集一堆数据而是回答三个问题这个目标有哪些资产域名、IP、APP、小程序、API哪些资产最可能存在漏洞边缘资产、旧系统、测试环境从哪里入手效率最高登录接口、查询接口、上传接口今天这篇文章给出一套新手可操作、合规、不依赖复杂工具的信息收集方法论。一、信息收集的边界先明确能收集什么在开始之前必须先说清楚合规边界。信息收集本身不等于漏洞测试但同样有红线。能做✅ 收集平台授权范围内的资产信息✅ 使用公开渠道搜索引擎、证书透明度日志、公开API查询✅ 在授权范围内进行低频、被动的探测✅ 记录收集到的信息用于后续分析。绝对不能做❌ 对非授权资产进行任何形式的探测❌ 使用高频扫描如全端口快速扫描影响目标服务❌ 尝试未授权的目录爆破或子域名爆破部分平台明确禁止❌ 利用收集到的信息进行未授权访问。核心原则信息收集阶段以被动收集为主主动探测必须在授权范围内且控制频率。不确定是否允许时默认不做。二、信息收集的5个层次我把信息收集分为5个层次从外到内逐步深入层次收集内容目的第一层域名资产主域名、子域名、相关域名摸清资产范围第二层IP与端口解析IP、开放端口、服务类型了解基础设施第三层技术指纹Web服务器、框架、CMS、中间件识别技术栈第四层目录与接口敏感路径、API接口、参数找到入口点第五层业务信息功能模块、用户角色、业务流程理解业务逻辑新手建议从第一层开始逐层深入。不要跳级也不要一次性全部收集完——收集到足够支撑下一步分析即可。三、第一层域名资产收集1. 主域名确认首先确认平台的授权范围。打开SRC平台的规则页面找到测试范围部分明确列出主域名如example.com允许测试的子域名如*.example.com是否包含APP、小程序、API明确排除的资产如mail.example.com可能不在范围内。把授权范围复制到本地记录文件后续所有收集都要对照这个范围。2. 子域名收集被动方式子域名往往是最容易出洞的地方因为边缘资产的安全投入通常不如主站。被动收集渠道不直接请求目标渠道说明工具/网站证书透明度日志通过SSL证书反查子域名crt.sh、censys.io搜索引擎site:语法搜索Google、Bing公开DNS数据DNS历史记录SecurityTrails、VirusTotal第三方数据源聚合的子域名数据在线子域名查询工具注意使用这些渠道时只查询授权范围内的域名不要扩大到不相关资产。3. 相关域名收集除了子域名还要关注同一公司的其他域名可能不在授权范围仅作了解CDN域名确认是否影响测试第三方服务域名如支付、登录回调域名。记录格式建议text主域名example.com 授权子域名 - www.example.com - api.example.com - m.example.com 排除资产 - mail.example.com不在范围四、第二层IP与端口信息1. 域名解析用ping或nslookup查看域名解析的IPbashnslookup www.example.com注意如果使用了CDN解析到的IP是CDN节点不是真实服务器。此时不要对CDN节点进行端口扫描。2. 端口探测谨慎使用新手建议初期不主动做端口扫描除非平台明确允许。如果平台允许使用低频、有限端口的探测bash# 仅探测常见Web端口单IP低频 nmap -p 80,443,8080,8443 --max-rate 10 target_ip绝对禁止全端口扫描1-65535高频扫描--max-rate 设置过高对非授权IP扫描。3. 记录格式text域名www.example.com 解析IP1.2.3.4可能是CDN 开放端口80, 443 服务HTTP, HTTPS五、第三层技术指纹识别指纹识别帮助你了解目标用了什么技术从而推断可能存在的漏洞类型。1. 使用Wappalyzer浏览器安装Wappalyzer插件访问目标页面它会自动识别Web服务器Apache/Nginx/IIS编程语言PHP/Java/Python框架Spring/Django/LaravelCMSWordPress/DedeCMS前端库jQuery/Vue/React分析工具Google Analytics。2. 手动识别技巧识别对象方法Web服务器查看响应头Server字段编程语言查看URL后缀.php/.jsp/.asp框架查看Cookie名称、报错页面特征CMS查看特定路径/wp-admin/、/dede/版本号查看JS/CSS文件路径中的版本号3. 指纹识别后的思考识别出技术栈后问自己这个技术栈有哪些已知漏洞查CVE这个版本是否过旧旧版本风险更高这个框架是否有默认配置问题注意不要直接使用已知漏洞的POC去攻击先确认目标是否在授权范围且漏洞是否真实存在。六、第四层目录与接口发现1. 敏感路径检查手动在授权范围内手动访问以下常见路径text/robots.txt # 查看允许/禁止爬取的路径 /sitemap.xml # 站点地图 /admin # 后台入口 /login # 登录页 /api # API入口 /swagger-ui.html # API文档 /actuator # Spring Boot监控 /.git/config # Git泄露 /backup.zip # 备份文件原则只访问不爆破。如果访问返回404记录后继续不要用工具批量尝试。2. API接口发现打开浏览器DevTools → Network面板正常浏览目标网站观察加载的接口记录接口路径、请求方法、参数关注返回JSON的接口通常是API注意接口中的ID参数可能存在越权。3. 目录扫描谨慎新手建议初期不做目录爆破。如果平台允许使用小字典、低频扫描bash# 仅作示例实际使用需确认平台规则 dirsearch -u https://example.com -w small_wordlist.txt --delay1绝对禁止大字典、高频、对非授权目标扫描。七、第五层业务信息收集技术信息收集完后还要理解业务逻辑因为很多漏洞藏在业务逻辑里。1. 功能模块梳理浏览目标网站列出所有功能模块登录/注册个人中心订单管理支付流程评论/留言文件上传搜索功能。2. 用户角色分析游客能做什么普通用户能做什么VIP用户能做什么管理员能做什么角色差异是越权漏洞的温床。3. 业务流程梳理以电商为例text浏览商品 → 加入购物车 → 下单 → 支付 → 查看订单 → 确认收货每一步都可能有逻辑漏洞如价格篡改、数量为负、重复支付。4. 记录格式text功能模块订单管理 用户角色普通用户 关键接口 - GET /api/order/list - GET /api/order/detail?idxxx - POST /api/order/cancel 潜在风险点id参数可能存在越权八、信息收集的整理与优先级排序收集完信息后不要急着开始测试。先做整理和排序。1. 整理成资产清单资产类型技术栈优先级理由www.example.com主站NginxPHP中安全投入高难出洞api.example.comAPIJavaSpring高接口多易出越权m.example.com移动端NginxPHP高边缘资产可能疏于维护old.example.com旧系统ApachePHP高旧系统漏洞多admin.example.com后台Nginx中可能有弱口令2. 优先级排序原则边缘资产优先子域名、旧系统、测试环境API接口优先参数多易出越权、信息泄露旧版本优先技术栈过旧已知漏洞多登录入口优先弱口令、用户名枚举、验证码绕过。3. 从优先级最高的资产开始不要一次性测所有资产选1~2个高优先级目标深入。九、新手常见误区误区1信息收集就是收集越多越好真相信息收集的目的是支撑下一步分析不是收集一堆用不上的数据。收集到足够支撑你选择切入点即可。误区2直接用工具批量扫描子域名和目录真相批量扫描可能违反平台规则且高频扫描会影响业务。新手优先被动收集主动探测必须确认授权且控制频率。误区3收集完就忘了整理真相不整理的信息等于没收集。边收集边记录形成资产清单才能指导后续测试。误区4只关注技术信息忽略业务信息真相很多漏洞藏在业务逻辑里。理解业务流程和用户角色比识别技术栈更重要。误区5在非授权资产上顺手收集真相非授权资产一律不碰。收集前先确认范围不确定的默认不做。十、下期预告 行动清单下期预告第9期《SRC实战中的漏洞验证如何在不影响业务的前提下证明漏洞存在》我们将讲解漏洞验证的核心原则、常见漏洞的安全验证方法以及如何保存最小必要证据。看完本文后请完成以下练习□选择1个授权目标完成第一层域名资产收集整理成清单□用Wappalyzer识别目标的技术栈记录结果□浏览目标网站梳理功能模块和用户角色□整理一份资产清单按优先级排序选出1~2个切入点□对照本文的合规边界检查自己的收集行为是否越界。声明本文内容仅供网络安全学习与技术交流。所有信息收集和测试必须在授权范围内进行未经授权对他人系统进行探测属于违法行为。请自觉遵守法律法规及平台规则控制探测频率不影响业务正常运行。
返回列表