前言
给了源码
题解
一开始以为就是常规的sql注入,但是有预编译,想想用也没法用堆叠注入,陷入僵局。
看了看wp,原来是基于约束的SQL注入
数据库字符串比较
在数据库对字符串进行比较时,若两字符串长度不一样,则会在较短的字符串末尾填充空格,使两个字符串长度一致。
如:str1
和str
的比较,比较时会在str
的后面添加一个空格
以补足长度。
也就是说,对于查询语句:
select * from users where username='test'
select * from users where username='test '
查询结果是一致的。
INSERT截断
在数据插入时,若数据长度超过了预先设定的限制,例如:name char(64)
时,数据库会对字符串进行截断,只保留限定的长度。