Skip to content

SQL 注入

原理

通过 SQL 语句,实现无账号登录,甚至篡改数据库。

select * from user where username = ${username} and password = ${passowrd}

那么我们就可以在登录的时候通过

输入 username = admin and 1=1;

那么结果就是

select * from user where username = 'admin' and 1 = 1;and password='';前面肯定成功

防御

  1. 在前端对于所有的用户输入都需要进行编码

  2. 在服务器端如 mybatis 请使用 #{}