场景:2026年9月,某头部消费金融公司风控系统监测到异常征信查询请求激增。经初步排查,发现一批代理投诉机构通过伪造授权材料,利用API接口漏洞批量爬取用户征信数据,涉及超50万条敏感记录。
攻击 / 事件时间线
初始访问
攻击者首先通过暗网购买了一批真实用户的身份证号与手机号,随后利用某代理投诉平台的前端漏洞,伪造用户授权书并上传至业务系统。关键突破点在于:该平台的文件上传接口未校验授权书与用户身份的一致性,仅依赖前端JS校验,攻击者通过Burp Suite篡改请求包,绕过校验逻辑,成功注册为'合法'代理投诉用户。
Burp Suite暗网数据伪造授权书
权限提升
注册成功后,攻击者发现系统对代理用户仅做了功能级权限控制,但未对API调用频率做限制。通过分析前端JS代码,攻击者定位到征信查询接口/api/v2/credit/query,该接口仅校验了代理用户的token,未校验请求来源IP与用户绑定关系。攻击者利用Python脚本批量调用该接口,以每秒20次的频率爬取征信数据,核心漏洞是接口缺乏速率限制与行为审计。
Python requestsChrome DevToolsFiddler
数据窃取
攻击者将爬取到的征信数据(含姓名、身份证号、信贷记录、逾期信息)加密压缩后,通过DNS隧道外传至境外C2服务器。外传过程中,攻击者使用了iodine工具,将数据编码为DNS查询请求,伪装成正常的域名解析流量。由于该公司出口防火墙未对DNS流量做深度检测,数据在72小时内被分批外传,累计泄露数据量达2.3GB。
iodineDNS隧道AES加密
告警触发
风控系统在第三天凌晨触发告警:某代理用户API调用量突增300倍,且查询的身份证号分布在全国各地,与代理机构业务范围严重不符。SOC团队立即介入,通过分析API网关日志,发现该账号的请求IP归属地为境外VPS,且请求时间集中在凌晨2-5点,行为特征与正常代理投诉业务明显偏离。
SIEMAPI网关日志Elasticsearch
蓝队视角 · 发现与处置
SOC团队接警后,第一时间冻结涉事代理账号并暂停其API权限。通过关联分析发现,该账号注册时使用的营业执照为伪造,且上传的授权书存在PS痕迹。进一步排查发现,攻击者利用了文件上传接口未校验授权书与用户身份一致性的漏洞。蓝队随后对全部代理用户进行批量核查,发现另有17个可疑账号存在类似行为。应急处置包括:1)紧急上线API速率限制(每秒5次);2)对代理用户增加人脸识别活体校验;3)在出口防火墙部署DNS流量深度检测规则,阻断iodine隧道特征。
涉及关键技术 / 工具
文件上传接口绕过(Burp Suite篡改请求)API速率限制缺失导致批量爬取DNS隧道数据外传(iodine工具)
防护经验总结
- 对代理用户注册环节增加人脸识别+授权书OCR比对,确保授权书与用户身份一致;
- 所有敏感API接口必须部署速率限制与行为基线,如单用户每秒查询不超过5次,异常时自动触发二次认证;
- 出口防火墙启用DNS流量深度检测,对iodine等隧道工具的特征(如超长域名、高频TXT查询)进行阻断与告警。
#征信数据泄露#API安全#DNS隧道