Loading

sqli-labs lesson 11-15

  从这一关开始我们开始进入到post注入的世界了,什么是post呢?就是数据从客户端提交到服务器端,例如我们在登录过程中,输入用户名和密码,用户名和密码以表单的形式提交,提交到服务器后服务器再进行验证。这就是一次post的过程的。

  less 11:

  

  这里我们还是尝试一下get注入里常用的:

  执行:admin' or '1'='1 #

  当我们提交username和password后,后台形成的sql语句为

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

  如下图,可以看到页面已经正常回显用户名和密码登录。 

  

 

 

   ps:上面并不能用数据库中没有的用户名去构造语句,否则页面无回显,但是不代表我们语法有错误。

  比如下面 我们分别用:

  1. uname=' order by 2# &passwd=admin&submit=Submit

  2. uname=' order by 3# &passwd=admin&submit=Submit

  1.页面依然没有回显,但是语句是正确的。

  

 

   2.出现报错,说明只有两个字段。

  

 

   后面步骤与less-1一致,在uname中构造payload即可。

 

less 12:

  与less 11基本相似,只不过变为了用 ") 闭合语句。

less 13:

  uname中输入1‘ 密码随意,出现报错:说明这里要用 ') 闭合语句

  

 

   登录成功之后页面像前两关那样回显的信息了

  

 

   后续过程就类似 less-5中的布尔盲注按位猜解数据库,数据表,列,信息即可。

 

 

less 14:

  与less 13类似,只是uname进行了 " 操作,注意闭合"即可

less 15:

  这里尝试uname输入1‘ password输入1

  

 

   没有出现报错提示,那么还是布尔盲注或者延时注入。

  源代码中uname进行了单引号包裹,注意闭合单引号即可,方法与前机关类似。

  

 参考文章来源:Icamry

posted @ 2020-03-06 20:56  Zh1z3ven  阅读(160)  评论(0编辑  收藏  举报