所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。这里我应用漏洞平台靶场练习SQL手工注入方法。需要到的环境有DVWA、wampserver。确保DVWA可以成功打开后可以开始实验。
目录
- 注入思路
- 判断是否存在注入,注入的类型是字符型、数字型还是搜索型
- 猜解 SQL 查询语句中的字段数
- 确定显示的字段顺序
- 获取当前数据库
- 获取数据库中的表
- 获取表中的字段名
- 查询
LOW级别
1.判断是否存在注入,注入的类型是字符型、数字型还是搜索型
输入1' and '1'='1
查询成功并无发现异常。
输入1'and '1'='2
查询失败,返回结果为空,可以判断问题参数为id,存在字符型注入。
2.猜解SQL查询语句中的字段数
只有确定了字段数,才可以使用union这个关键词连接我们自己的查询语句。可以采用order by来确定字段数。当输入order by x报错时,就说明没有这个字段,就可以得到输出的字段数了。
输入1' and 1=1 order by 3#
报错,说明没有第三列:
输入1' and 1=1 order by 2#
成功查询&#x