zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    LeetCode 23. 合并K个排序链表
    LeetCode 199. 二叉树的右视图
    LeetCode 560. 和为K的子数组
    LeetCode 1248. 统计「优美子数组」
    LeetCode 200. 岛屿数量
    LeetCode 466. 统计重复个数
    LeetCode 11. 盛最多水的容器
    LeetCode 55. 跳跃游戏
    LeetCode 56. 合并区间
    Java生鲜电商平台-订单架构实战
  • 原文地址:https://www.cnblogs.com/Zh1z3ven/p/12430803.html
Copyright © 2011-2022 走看看