预编译与sql注入,正则回溯绕过,mysql常见绕过,报错注入7大常用函数SQL注入的核心原因在于:数据库将**用户的输入**当成了**可执行的SQL代码**的一部分。 普通查询:直接拼接字符串。如果用户输入 `1 union select...`,数据库会将其解析为两条指令。 预编译:将SQL语句的**结构**与**数据**分离。 1. 预处理:数据库先接收带有占位符(如 `?`)的SQL模板,进行语法检查、解析并生成执行计划(语法树)。此时数据库已经确定了“这句话是干什么用的”(例如查询id为X的用户)。 2. 执行:用户输入的数据作为纯数据填充到占位符中。无论输入什么内容