引言
SQL注入(SQL Injection)是一种常见的网络安全漏洞,它允许攻击者通过在数据库查询中注入恶意SQL代码,从而获取、修改或删除数据库中的数据。SQLmap是一款功能强大的自动化SQL注入工具,可以帮助安全研究人员发现和利用SQL注入漏洞。本文将深入解析SQL注入攻击的原理,并通过SQLmap工具的实战解析,介绍如何防御SQL注入攻击。
SQL注入攻击原理
1. SQL注入基础
SQL注入攻击主要利用了应用程序在处理用户输入时对SQL查询的构造不当。攻击者通过在输入框中输入特殊构造的SQL语句,来欺骗应用程序执行非法操作。
2. SQL注入类型
- 基于布尔的盲注:攻击者无法直接获取数据库中的数据,只能通过应用程序的反馈来判断SQL语句的执行结果。
- 基于时间的盲注:攻击者通过修改SQL语句,利用数据库的等待时间来获取数据。
- 基于错误的盲注:攻击者通过分析应用程序返回的错误信息来获取数据。
SQLmap实战解析
1. SQLmap安装
首先,需要安装SQLmap。以下是在Linux系统中使用pip安装SQLmap的命令:
pip install sqlmap
2. SQLmap使用
以下是一个使用SQLmap进行SQL注入测试的示例:
sqlmap -u "http://example.com/login.php?username=admin&password=123456" --data="username=admin&password=123456"
这条命令会尝试对http://example.com/login.php页面进行SQL注入攻击,其中username和password是登录表单的参数。
3. SQLmap输出
SQLmap会输出攻击过程中获取到的信息,包括数据库版本、表名、列名等。以下是一个示例输出:
”` [03/08/2023, 11:17:28] INFO: connected to 192.168.1.1 on port 80 as ‘admin’ [03/08/2023, 11:17:28] INFO: the MySQL server is at version 5.7.22-log … [03/08/2023, 11:17:28] INFO: the target database is at version 5.7.22-log … [03/08/2023, 11:17:28] INFO: the target user is at version 5.7.22-log … [03/08/2023, 11:17:28] INFO: the target user has the following privileges: [‘SELECT’, ‘INSERT’, ‘UPDATE’, ‘DELETE’, ‘CREATE’, ‘DROP’, ‘TRIGGER’, ‘EVENT’, ‘CREATE TEMPORARY TABLES’, ‘LOCK TABLES’, ‘REFERENCES’, ‘CREATE VIEW’, ‘SHOW VIEW’, ‘CREATE ROUTINE’, ‘ALTER ROUTINE’, ‘GRANT OPTION’] [03/08/2023, 11:17:28] INFO: the target user has the following databases: [‘information_schema’, ‘mysql’, ‘performance_schema’, ‘test’, ‘phpmyadmin’, ‘sqlmap’, ‘sqlmap_test’, ‘sqltest’] [03/08/2023, 11:17:28] INFO: fetching database names … [03/08/2023, 11:17:29] INFO: the following databases were detected: [‘information_schema’, ‘mysql’, ‘performance_schema’, ‘test’, ‘phpmyadmin’, ‘sqlmap’, ‘sqlmap_test’, ‘sqltest’] [03/08/2023, 11:17:29] INFO: fetching table names for ‘information_schema’ … [03/08/2023, 11:17:29] INFO: the following tables were detected: [‘SCHEMATA’, ‘COLUMNS’, ‘TABLE_CONSTRAINTS’, ‘KEY_COLUMN_USAGE’, ‘REFERENTIAL_CONSTRAINTS’, ‘TABLES’, ‘VIEWS’] [03/08/2023, 11:17:29] INFO: fetching column names for ‘information_schema.TABLES’ … [03/08/2023, 11:17:29] INFO: the following columns were detected: [‘TABLE_CATALOG’, ‘TABLE_SCHEMA’, ‘TABLE_NAME’, ‘TABLE_TYPE’, ‘ENGINE’, ‘VERSION’, ‘ROW_FORMAT’, ‘TABLE_COMMENT’, ‘TABLE_COLLATION’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_NAME’, ‘TABLE_TYPE’, ‘ENGINE’, ‘VERSION’, ‘ROW_FORMAT’, ‘TABLE_COMMENT’, ‘TABLE_COLLATION’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’, ‘INDEX_LENGTH’, ‘DATA_FREE’, ‘CREATE_TIME’, ‘UPDATE_TIME’, ‘TABLE_SCHEMA’, ‘AUTO_INCREMENT’, ‘TABLE_ROWS’, ‘AVG_ROW_LENGTH’, ‘DATA_LENGTH’, ‘MAX_DATA_LENGTH’,
