MySQL SQL注入技术全解析
1. 获取表结果集
在MySQL中,有一个名为 information_schema 的数据库,可用于查找数据库的更多元数据。该数据库包含一个 tables 表,存储了所有数据库中所有表的元数据。可查询的字段如下:
| 字段名 | 类型 | 描述 |
| ---- | ---- | ---- |
| TABLE_SCHEMA | 字符串 | 表所在的数据库 |
| TABLE_ROWS | 整数 | 表中所有行的总和 |
| TABLE_NAME | 字符串 | 表的名称 |
我们可以修改查询以查找所有数据库及其表。最初可能会想通过获取 tables 表的 table_rows 值并创建循环来查询所有表,但这不可行,因为即使以 root 用户查询,该表的 table_rows 值也会返回 null 。此外,我们只能访问具有权限的表,且使用 group_concat() 函数时,由于默认的 group_concat_max_len 值仅为1024字节,可能会得到不理想或有限的结果。
以下是获取可访问数据库列表的代码:
my @databases = split(", ",parsePage(page($injectString,"(select group_
超级会员免费看
订阅专栏 解锁全文
1326

被折叠的 条评论
为什么被折叠?



