2022-11-21 18:56:16351浏览
SQL注入是SQL里面的一个非常重要的技术。学好和用好SQL注入对后续的渗透有很大的帮助。我们现在就来分析SQL注入的流程和注入的相关事项。
一、SQL注入的流程
要用好SQL注入,那么就需要SQL注入的流程有一个整体的把握。
SQL注入的流程有:
1、首先需要判断网站是否有注入
2、分析是什么样的SQL注入
3、判断语句能否被修改
4、是否能够成功带入执行
5、获取我们想要的数据
需要的数据就是:
获取数据库 -> 获取表 -> 获取字段 -> 获取字段内容
1、判断是否有注入
注入点:http://127.0.0.1/sqli-labs-master/Less-1/?id=1

常见的注入方式:
第一种:and
and 1=1 返回正常
and 1=2 返回错误
第二种:.0 、 .1
?id=3.0 返回正常
?id=3.1 返回错误
第三种:' (单引号)
?id=3' 加单引号报错
第四种:-1
?id=3-1 会返回 ?id=2 这个页面
and 1=1 返回正常

and 1=2 返回错误

其他几种注入方式我就不再一一写出来了。同学们可以都去尝试一下。
只要判断出错,那就说明这个地方大概率存在SQL注入。我们就可以继续去获取数据。
2、获取数据
在 MySQL 中,有一个很重要的数据库:information_schema,而它有三个很重要的表
第一个表个是:SCHEMATA :information_schema , 而这个数据库中的 SCHEMATA 表中的 SCHEMA_NAME 列中的值有我们的所有的数据库名。

information_schema:第二个表是:TABLES TABLES 这个表里的包含了数据库中所有的字段

information_schema:第三个表是:COLUMNS COUMNS 这个表里的包含了数据库中所有的表

3、查询数据
(1)查询字段数量判断列数看看大小会不会报错
order by :判断列数
%23:是 #(注释符)的原型,因为%23是#号的URL编码,注释的意思。所以我们先把注释符#转化为%23,作用是让他语句闭合起来。

(2)查询当前网站使用的数据库
version():查看版本
database():查看当前网站使用的数据库

其他的查询语句可以参考我们的视频,这里我就没必要一一列出来讲解了。
问题反馈