SuperAPI AI 工具集

padding-oracle-anti-pattern

安全与审计

查看项目

更新于 10-15 22:16

技能介绍

用途:该技能面向生成或审查解密代码的场景,帮助识别并避免填充预言(Padding Oracle)漏洞。资料将其严重性标为 High,并关联 CWE-649。

主要能力:说明漏洞成因——应用在 CBC 模式解密时,通过不同错误信息(如“Invalid Padding”与“Decryption Failed”)或时间差异泄露填充是否正确,攻击者可篡改密文并观察响应,逐字节解密整段消息而无需密钥。资料还给出检测思路:审查使用 CBC 模式的解密代码、检查 try...except 是否对不同异常返回不同响应或状态码、留意时间侧信道,并可用 padbuster 等工具主动测试端点。

使用方式与防护:资料建议优先使用 AEAD 模式(如 AES-GCM 或 ChaCha20-Poly1305),其加密与认证结合,不受填充预言影响;若必须使用 CBC,则采用 Encrypt-then-MAC,先对密文与 IV 计算 HMAC-SHA256 并在解密前验证,MAC 无效即拒绝;同时对所有错误返回相同的通用错误信息与状态码。资料包含易受攻击与安全实现的代码示例,涉及 cryptography 库的 Cipher、padding、AESGCM 等。

适用场景与限制:适用于代码生成、代码审查与安全测试环节。资料未提供安装命令、收费、价格或平台信息,这些内容暂未提供。