login1(SKCTF)-BugKu

提示:SQL约束攻击

1、SQL语句在处理字符串的时候(一般是在比较字符串的时候),会自动删去末尾的空格。这是因为SQL语句会在内部使用空格进行填充,以便在比较之前使他们的长度保持一致。这一点,对于where和insert语句是成立的,对于like语句无效。
也就是说,"admin"和"admin "是等效的,因此,用where id="admin"查询和用where id="admin "查询的结果相同。
login1(SKCTF)-BugKu
2、因此可以利用这个漏洞来绕过,我们注册的时候发现用户名:admin已经被注册了,那么肯定是存在"admin"账户的,我们注册的时候呢,就注册"admin "(注意这个admin后面有空格),然后密码自定义,登录的时候我们即可使用我们的"admin "账户登录,登录成功之后真实的权限其实就是网站真实管理员的权限。

发表评论

电子邮件地址不会被公开。必填项已用 * 标注