SQL注入
SQL 注入基础总结页,详细专题见 SQL注入总览。
核心概念
用户输入被拼接进 SQL 语句后,如果没有正确参数化或过滤,攻击者就能改变原查询逻辑,进一步读取、修改数据,甚至写文件或提权。
常见类型
- 联合查询注入:有回显时用
union select拼出想看的字段。 - 报错注入:借助数据库报错带出数据。
- 布尔盲注:页面只有真假差异时逐位判断。
- 时间盲注:页面无明显回显时用延时函数判断。
- 堆叠查询:允许执行多条 SQL 时扩大影响。
学习路线
防护要点
- 使用参数化查询。
- 不把用户输入直接拼接进 SQL。
- 数据库账号最小权限。
- 错误信息不直接回显给用户。