SQL注入
一、SQL注入的简介
在输入的字符串之中注入恶意SQL语句,使其当作参数值传递到服务器,而注入的SQL语句会被数据库服务器误认为是正常SQL语句而运行。
产生原因
- 开发人员未对用户的输入进行转义及过滤
- 开发人员构造动态拼接SQL语句
# 例如: PHP $query = "SELECT * FROM users WHERE username = ".$_GET["payload"];
上面代码我们可以控制
payload
参数进行构造恶意SQL语句,达到攻击目的
二、SQL注入分类(根据SQLMap)
UNION query SQL injection(可联合查询注入)
Stacked queries SQL injection(可多语句查询注入)
Boolean-based blind SQL injection(布尔型注入)
Error-based SQL injection(报错型注入)
Time-based blind SQL injection(基于时间延迟注入)
除此之外还还有Cookie注入、POST注入、请求头注入 , 都是字符型注入
其实总结起来主要分两大类:整型 和字符型