关于sqli-labs中报错Illegal mix of collations for operation ‘UNION‘原因剖析与验证

使用了union注入时报错如下:Illegal mix of collations for operation ‘UNION

payload:http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

看网上发现原因是security数据库中表格users的编码与information_schema数据库中不同导致

但新手啥也不会,自己摸索半天终于解决

详细过程如下:

我用的是mysql5.7 apacha2.4 PHP5.5.9(sqli-labs建议用5.5)

首先在sql5.7文件夹bin中找到mysql5.7.exe

复制路径,配置环境变量path

 

 

 

 

新建一个粘贴上去,配置完成后确定

在sqli-labs文件夹中创建一个文本文档,输入:

cd

start

保存改名为cmd.bat

记得先打开数据库服务,用小皮的在小皮面板启动

打开输入命令mysql -u root -p

并输入数据库密码

输入 show databases;

输入 use security;

 show create table users;

发现编码为utf8_unicode_ci

 use information_schema;

 show create table information_schema.tables;

 

发现是utf8默认为utf8_general_ci 

所以原因锁定开始解决

use security;

返回security数据库

 alter table users modify username varchar(20) character set utf8 collate utf8_general_ci;

 alter table users modify password varchar(20) character set utf8 collate utf8_general_ci;

修改编码

回到sqli-labs开始测试

 成功,完美解决

 

 

 

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在进行SQL注入时,你遇到报错信息:"Illegal mix of collations for operation 'UNION'"。根据引用的解决办法,这个问题是因为information_schema数据库的表使用的字符集(collation)与目标网站user表的字符集不一致导致的。解决方法是将user表的字符集与information_schema数据库一致。需要注意的是,不仅仅需要更改表的字符集,还需要逐一更改每一个字段的字符集。 在实际实战,如果无法更改目标网站的数据库,可以使用16进制的方式读取数据。根据引用的实际测试,可以使用类似的payload和url来进行查询,并使用在线加解码工具解码返回结果。 如果你在修改字符集后仍然遇到相同的报错信息,可以参考引用的方法。该方法使用SQL查询语句来生成修改表字段字符集的语句,可以批量修改表的字段字符集。你需要根据你自己的实际情况修改查询语句数据库名和字符集信息。 综上所述,你可以根据引用提供的方法来解决报错信息"error:Illegal mix of collations for operation 'UNION'"。123 #### 引用[.reference_title] - *1* [SQL注入报错Illegal mix of collations for operationUNION‘ (sqli-labs靶场MySQL数据库)](https://blog.csdn.net/m0_47470899/article/details/118695774)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [关于SQL注入报错Illegal mix of collations for operationUNION原因剖析验证](https://blog.csdn.net/qq_43665434/article/details/114088565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [MySQLSQL error1271Illegal mix of collations for operation UNION](https://blog.csdn.net/yyj108317/article/details/106427128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值