1.基础知识
1.1 原理
- 在处理程序和数据库交互时,使用字符串拼接的方式构造SQL 语句。
- 未对用户可控参数进行足够的过滤,便将参数内容拼接到SQL 语句中。
1.2注入手法
- 联合查询
- 报错注入
- 布尔盲注
- 延时注入
- 堆叠查询
1.3提交参数的方式
- GET 注入
- POST 注入
- Cookie 注入
- base64注入
- User-Agent注入
- referer注入
- HTTP 头部注入
2.读写文件
2.1 前提条件
- 当前用户具有文件读写权限
- 知道读写文件的绝对路径
- secure_file_priv 参数限制了mysqld(MySQL DBMS) 的导入导出操作,所以要修改my.ini 配置文件,并重启mysql 数据库
3.漏洞防御
- 避免采用拼接的方式构造SQL 语句。
- 对进入SQL 语句的参数进行过滤。
- 上安全设备比如WAF