什么是sql注入
sql注入是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击
利用方法
- 获取用户请求的参数
- 拼接到代码中拼接到代码中
- SQL语句按照我们构造参数的语义执行成功SQL语句按照我们构造参数的语义执行成功
手工简单识别
and 1=1
and ‘1’=1
and 1 like 1
工具识别
sqlmap
分类
- Boolean-based blind SQL injection(布尔型注入)
- Error-based SQL injection(报错型注入)
- UNION query SQL injection(可联合查询注入)
- Stacked queries SQL injection(可多语句查询注入)
- Time-based blind SQL injection(基于时间延迟注入)
进阶
- 绕waf
- 结合brupsuite进行自动化检测
防御
开发中使用预编译进行参数绑定