在接口安全、代码校验、数据传输等场景中,签名是保障身份合法性、数据完整性的核心手段,本质是通过特定算法生成的“电子指纹”。攻击者常通过挖掘签名机制的设计缺陷或实现漏洞,实施伪造签名、签名劫持等攻击,绕开校验逻辑,窃取数据、篡改参数甚至控制系统。以下是拆解攻击方式、给出可落地防御思路,适配开发者日常安全开发需求。
一、核心概念辨析
伪造签名与签名劫持的核心区别的在于攻击目标和实现路径,具体如下:
两者常被黑灰产结合使用,比如先通过劫持获取签名规则,再伪造签名实施后续攻击。
二、常见攻击方式(核心拆解)
(一)伪造签名的3种典型方式
核心是突破签名生成逻辑,常见路径包括:
1. 算法缺陷利用:借助MD5等已破解算法、哈希碰撞,或RSA签名重用随机数等漏洞,构造可通过校验的虚假请求;
2. 参数字段遗漏:篡改未纳入签名的关键参数(如amount),保留原始合法签名完成恶意操作;
3. 密钥泄露利用:提取前端硬编码、接口泄露的密钥,模拟签名生成逻辑,伪造任意合法签名。
(二)签名劫持的2种主流场景
核心是拦截/篡改签名校验链路,具体包括:
1. 接口请求劫持:抓包截获合法请求及签名,修改参数后复用签名发送至后端,利用后端校验漏洞绕过审核;
2. 程序签名劫持:将恶意代码注入合法签名证书区域,利用系统校验机制运行恶意程序,隐蔽性极强。
三、可落地的防御思路(核心要点)