关于DVWA 靶场 SQL 注入报错 Illegal mix of collations for operation ‘UNION‘ 的解决方案

发布于 2024-04-25  210 次阅读


今天在练习DVWA的SQL注入模块时,使用联合注入的时候,遇到报错:

Illegal mix of collations for operation 'UNION'

网上查了一下,原因是union两端的字段的collatie(排序规则)不同
关于collatieMYSQL中的COLLATE是什么? - 腾讯云开发者 - 博客园 (cnblogs.com)

解决方案:

打开DVWA安装目录里的MySQL.php文件。
E:\phpstudy_pro\WWW\DVWA\dvwa\includes\DBMS

用编辑器打开搜索 $create_db ,第一个就是

$create_db 这个变量的赋值语句里加上一小段:
COLLATE utf8_general_ci
一定要注意空格,在 } 和COLLATE之间有一个空格,如果不加上就会出错。

如下图

保存以后回到dvwa靶场,在Setup / Reset DB页面重新建立DVWA数据库

重置成功

再次尝试联合注入

成功

後悔しない
最后更新于 2024-04-25