基于约束的SQL注入笔记

漏洞成因

当数据库进行查询时,会自动将空格去除掉

演示

SELECT * FROM `user` WHERE username = 'admin1'

SELECT * FROM `user` WHERE username = 'admin1     '

在数据库中分别执行上面两条SQL语句,很明显,第二条SQL语句后面多了空格,查看结果

可以发现返回了相同的结果,同理如果在添加时(比如注册用户时)在用户名后面添加过多的空格(尽量多加),然后再查询用户名为admin1的用户,发现出现了两个账号,那么可以用我们设置的密码来登录

原文地址:https://www.cnblogs.com/BuFFERer/p/12323891.html