sqllab第二关通关笔记

知识点整理:

  • 数值型注入判断手法
    • 1/1 1/0 回显不同
  • 错误注入函数
    • extractvalue(xml_flag,xpath)
      • xml_flag:文件表示符
      • xpath:文件路径;不能识别'~' '#' 等特殊字符;遇到就报错并打印xpath内容
      • ~(十六进制表示):0x7e
      • #(十六进制表示):0x23
      • $:0x24
      • %:0x25
      • &:0x26
      • +:0x2b
      • 十六进制ascii表:ASCII码16进制对照表_阿斯克码16进制-CSDN博客
      • 里面的特殊字符大多都可以用
    • updatexml(flag,xpath,new_flag)
      • 用法同extractvalue()函数
      • 主要是xpath错误输出;其他位补全就行了
    • exp(709) 边界值
      • e的709次方
      • exp(710) 会报错;超出边界(8个字节)

通过测试发现时数字型注入

输入id=1/1发现正常回显

输入id=1/0 发现不打印输出了;说明这里存在数字型注入

测试是否可以使用联合注入;

构造payload:id=0 union select 1,2,3 --+

发现将输入的内容打印到页面上了;这里可以进行联合注入

下面来获取数据库名

构造payload:id=0 union select 1,2,database() --+

成功获取了数据库名;之后还可以获取表名、字段名、具体内容等信息(这里不做演示了)

在第一关已经展示了具体的操作

这一关还可以进行错误注入

构造payload:id=0%20or%20extractvalue(1,concat(0x7e,database(),0x7e))%20--+

成功打印出了数据库名;同样的也能通过错误注入的方式获取具体的表名和字段信息

10

相关推荐
解决小子14 小时前
【虚幻引擎】【C++】【GAS框架】构建角色基类、属性集、数值钳制
c++·笔记·游戏引擎·虚幻·gas·能力系统
破芽14 小时前
learn-claude-code-s05-s11-学习笔记
笔记·学习
程序猿乐锅16 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
fish_zzzz16 小时前
笔记--浅谈内存,存储空间,BIOS芯片,显卡GPU、VRAM(1)
笔记·1024程序员节
ACP广源盛1392462567316 小时前
PCIe Gen3 交换芯片选型笔记:多路扩展方案 IX7024@ACP 评估
笔记·硬件架构·pcie·国产芯片
深圳老胡16 小时前
STM32 开发中 Trae 内置模型怎么选:Seed、MiniMax、GLM、DeepSeek、Kimi、Qwen 全对比
笔记·stm32·单片机·嵌入式硬件·代码规范·1024程序员节
坤坤子吖17 小时前
C++继承:友元、静态成员、多继承与组合
开发语言·c++·笔记·学习·1024程序员节
Nuanyt18 小时前
Hot 100 刷题笔记 · 数组与哈希专题(3 题)
java·笔记·算法·leetcode·哈希算法·1024程序员节
破芽19 小时前
learn-claude-code-s08-s09-学习笔记
笔记·学习
星恒随风19 小时前
Linux网络编程基础(二):彻底理解局域网通信、MAC与IP地址、数据封装、端口号、网络字节序及Socket接口
linux·网络·笔记·学习·tcp/ip·1024程序员节