目录
一、SQL注入
1、SQL注入漏洞原理
把SQL命令插入到Web表单提交、或输入域名、或页面提交的查询字符串中,从而达到欺骗服务器执行恶意的SQL命令。
2、SQL注入类型
- 字符型
- 数字型
- 搜索型
3、SQL注入过程
- 判断是否存在注入,注入是字符型还是数字型;
- 猜解SQL查询语句中的字段数;
- 确定显示位置;
- 获取当前数据库;
- 获取数据库中的表;
- 获取表中的字段名;
- 下载数据
二、实验环境
1、测试机:物理机Windows 10,远程登录DVWA;安装BurpSuite
2、DVWA服务器:Windows Server 2003(192.168.247.129),启动phpStudy。
三、实验步骤
安全级别:LOW
查看源码
由源码可以看出,LOW级别的SQL注入对参数id的内容进行任何检查和过滤,存在明显的SQL注入,并且是字符型注入。
使用场景
1、判断是否存在注入,注入是字符型还是数字型
输入1,查询成功,存在SQL注入
输入 1’ and ‘1’=’1 或者 1’ or ‘1234’ = ‘1234,成功返回结果,证明该SQL注入为字符型。
2、猜解SQL查询语句中的字段数;
在输入框中输入 1’ order by 1 # 和 1’ order by 2 # 时都返回正常;对比源码,这条语句的意思是查询users表中user_id为1的数据并按第一(二)字段进行。