测试环境
MariaDB:mysql Ver 15.1 Distrib 10.1.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
漏洞原理
该漏洞是由于MySQL对于字符串验证不严格而导致的
简易示例
现假定有一个秘密记录系统,只要验证通过就可以通过用户名进行秘密查询,创建的表与表初始信息如下:
MariaDB [test]> create table login (id int primary key auto_increment,user varchar(100) not null, password varchar(100) not null);
Query OK, 0 rows affected (0.02 sec)
MariaDB [test]> create table secert (id int primary key auto_increment, user varchar(100) not null references login(user), content TEXT);
Query OK, 0 rows affected (0.01 sec)
MariaDB [test]> insert into login (user,password)values('admin','very difficult');
Query OK, 1 row affected (0.00 sec)
MariaDB [t