@Dukebf
2017-07-12T00:02:38.000000Z
字数 1022
阅读 1905
MySQL注入
information_schema
DATABASE() 返回当前数据库名
CONNECTION_ID() 返回当前客户的连接ID
USER()或SYSTEM_USER() 用户名
CURRENT_USRE() 当前登陆用户名
SESSION_USER() 连接数据库的用户名
FOUND_ROWS() 返回最后一个SELECT查询进行检索的总行数
load_file() MySQL读取本地文件的函数
BENCHMARK(count,expr) 将表达式expr重复运行count次
VERSION() || @@version 返回MySQL服务器的版本
@@version_compile_os 返回当前操作系统
@@datadir 读取数据库路径
@@basedir 读取书数据库安全路径
用法示例
select version();
多条数据显示
concat()
group_concat()
concat_ws()
information_schema 数据库中,常用的信息:
SCHEMATA: 存储数据库名
关键字段 SCHEMA_NAME :存储数据库名字
示例: select schema_name from information.schemata;
TABLES:存储表名
关键字段
TABLE_SCHEMA :表所属的数据库名称
TABLE_NAME: 表的名称
select distinct table_schema from information.tables;
COLUMNS: 存储所有字段
TABLE_SCHEMA : 表所属的数据库名称
TABLE_NAME :所属表的名字
COLUMN_NAME : 字段名称
综合示例
根据database()获取数据库名字:
select database();
根据数据库名获取当前数据库所有表名:
select table_name from information_schema.tables where table_schema = (select database());
假设数据库名为 dvwa, 表名为 user
获取user表的所有字段:
select column_name from information_schema.columns where table_schema='dvwa' and table_name='user';