我试图进行SQL注入攻击,(这是为了一项任务,所以我没有做任何违法的事情)我需要查看当前的数据库名称是什么。但是,输入限制为15个字符,当您考虑转义字符串并注释掉其余部分时,这个值为13。因为这个,SELECT DATABASE()太长了,所以有没有办法以13个字符或更少的字符返回数据库名称?
答案 0 :(得分:2)
您可以使用SCHEMA(),因为它是DATABASE()的同义词。见https://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_schema
答案 1 :(得分:1)
使用STATUS
。它为您提供了几个状态变量,包括您所连接的数据库的名称。
答案 2 :(得分:1)
命令SHOW TABLES
只有11个字符,结果集的标题显示当前数据库。
以下是一个例子:
mysql> use test;
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| ... |
+----------------+