Less-34

本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理。由上面的例子可以看到我们的方法就是将过滤函数添加的 \ 给吃掉。而get型的方式我们是以url形式提交的,因此数据会通过URLencode,如何将方法用在post型的注入当中,我们此处介绍一个新的方法。将utf-8转换为utf-16或 utf-32,例如将 ' 转为utf-16为 ' 。我们就可以利用这个方式进行尝试。

我们用万能密码的方式的来突破这一关。

Sqli-labs less 34

例如上图中直接提交username:' or 1=1#

Password:随便乱填

Sqli-labs less 34

可以看到下面显示正常登陆。

原始的sql语句为

    @$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";

此时sql语句为

SELECT username, password FROM users WHERE username='' or 1=1#' and password='$passwd' LIMIT 0,1

 

Explain:SELECT username, password FROM users WHERE username='' or 1=1起到作用,后面的则被#注释掉了。而起作用的的语句不论select选择出来的内容是什么与 1=1进行or操作后,始终是1。

相关文章:

  • 2021-12-16
  • 2021-09-14
  • 2021-10-28
  • 2021-09-24
  • 2021-06-02
  • 2021-09-22
  • 2022-01-20
  • 2021-09-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-17
  • 2021-08-31
  • 2021-10-26
  • 2021-10-31
  • 2021-04-23
相关资源
相似解决方案