26 lines
655 B
Markdown
26 lines
655 B
Markdown
### 堆叠注入漏洞原理
|
|
|
|
**正常查询**
|
|
|
|
假设一个网站的查询语句是这样拼接的:
|
|
|
|
```sql
|
|
SELECT * FROM users WHERE id = '用户输入';
|
|
```
|
|
|
|
如果用户输入 `1`,执行的 SQL 语句就是:
|
|
|
|
```sql
|
|
SELECT * FROM users WHERE id = '1';
|
|
```
|
|
|
|
**堆叠注入攻击**
|
|
|
|
如果攻击者在输入框中输入 `1; DROP TABLE users`,并且后端没有过滤分号,最终执行的 SQL 语句就会变成:
|
|
|
|
```sql
|
|
SELECT * FROM users WHERE id = '1';
|
|
DROP TABLE users;
|
|
```
|
|
|
|
数据库服务器会按顺序执行这两条语句。第一条是正常的查询,第二条则是**删除 `users` 表**的恶意命令 |