* 起点:注册 / 资料处写入被转义存储的数据 * 关键步:另一功能读取时未再转义、直接拼接 SQL,二次注入触发 * 终点:数据泄露。数据库账号权限过大时升级为写文件 / 执行的提权分支 * 最终定级:高危(数据泄露)。提权分支成立后按新终点升级严重 ### 一、业务背景 写入接口对输入做了转义后存库,看似安全。但另一个读取功能取到库里的数据后不再转义,直接拼进 SQL 语句,转义在读取拼接时被还原,形成二次注入。它和一次注入的区别在于:恶意内容先潜伏存储,跨功能在读取点触发。 ### 二、系统拓扑 * 注册 / 资料写入接口:转义后存储。 * 读取功能:取出存储数据未再转义,直接拼接 SQL。 * 数据库:被二次注入读取。应用账号权限决定能否升级提权。 * 信任边界:写入处的转义不能替代读取处的参数化。 ### 三、角色与账号 * 攻击者账号:在写入点植入恶意数据。 * 应用数据库账号:被注入借用,权限决定可读范围与能否提权。 ### 四、攻击起点 在注册、资料填写等写入点提交带特殊字符的内容,观察存储与后续读取功能的表现。 发现顺序: