13.SQL注入-宽字节

SQL注入-宽字节

含义:

MySQL是用的PHP语言,然后PHP有addslashes()等函数,这类函数会自动过滤 ’ ‘’ null 等这些敏感字符,将它们转义成’ ‘’ \null;然后宽字节字符集比如GBK它会自动把两个字节的字符识别为一个汉字,所以我们在单引号前面加一个%df,从而使单引号逃逸。
宽字节的注入条件有两个:
1.数据库编码设置成GB系列

这里说的GB系列编码,不是指PHP页面的编码,而是连接数据库使用的编码。

2.使用了转义函数,将GET、POST、cookie传递的参数进行过滤,将单引号、双引号、null等敏感字符用转义符 \ 进行转义。

常见的包括addslashes()、mysql_real_escape_string()函数。
转义函数的转义作用,就是我们常说的“过滤机制”。

当两个条件都满足时,才会存在宽字节注入。

具体原理:

1.通过前面的SQL注入实验可以发现,字符型的注入点我们都是用单引号来判断的,但是当遇到addslashes()时,单引号会被转义成 ’ ,导致我们用来判断注入点的单引号失效。
所以我们的目的就是使转义符 \ 失效、使单引号逃逸。
2.我们通过URL编码来分析,首先先看看这些特殊符号的URL编码:

URL转码
空格 %20
'   %27
#   %23
\   %5C

3.payload的是【%df '】,其原理是当MySQL在使用GBK编码的时候,会认为两个字符是一个繁体汉字,然后让我们的单引号%27成功逃逸
在这里插入图片描述

环境演示
通过pikachu请求宽字节注入,并且bp工具进行抓包
在这里插入图片描述

抓包的数据进行发送到repeater上进行输入payload语句测试
在这里插入图片描述

添加payload语句并发送,暴漏出所有的用户数据信息

name=%df' or 1=1#

如图所示:
在这里插入图片描述

判断可显字段
这里用order by判断字段数量会报错,不知道是什么原因。直接跳到下一步:用union select联合查询直接测试1,2是否为可显字段。
在这里插入图片描述

payload语句

name=kobe%df' union select 1,2#

可以看出第1,2个为可显字段
在这里插入图片描述

爆数据库名。
可以看到数据库名为pikachu,还有数据版本。
在这里插入图片描述

爆数据库表名。
注释:按照之前union联合查询注入的payload,【union select group_concat(table_name),2 from information_schema.tables where table_schema=“pikachu”】里面是存在引号的,但如果用%df来使引号逃逸,就会使查询语句出错,所以后面的payload都是用嵌套查询,避免使用引号。

name%df' union select (select group_concat(table_name) from information_schema.tables where table_schema=database()),2#

遍历出来所有的表名
在这里插入图片描述

暴字段名

kobe%df' union select (select group_concat(column_name) from information_schema.columns where table_schema=(select database()) and table_name=(select table_name from information_schema.tables where table_schema=(select database())limit 3,1)),2#

如图所示,暴漏出字段名
在这里插入图片描述

爆字段内容。

kobe%df' union select (select group_concat(username,0x3b,password) from pikachu.users),2#

数据库对应的用户名和密码,直接解密即可;
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内容营销专家刘鑫炜:网站排名需考虑哪些SEO优化技巧?

网站排名的SEO优化技巧包括: 1. 关键词研究:了解目标受众的搜索关键词,将这些关键词合理地应用在网站的标题、描述、正文和标签中,有助于提高网站排名。 2. 内容优化:创建高质量、有价值的内容,可以吸引搜…

Qt源码解析之QObject

省去大部分virtual和public方法后,Qobject主要剩下以下成员: //qobject.h class Q_CORE_EXPORT Qobject{Q_OBJECTQ_PROPERTY(QString objectName READ objectName WRITE setObjectName NOTIFY objectNameChanged)Q_DECLARE_PRIVATE(QObject) public:Q_I…

STM32-OC输出比较和PWM

本内容基于江协科技STM32视频内容,整理而得。 文章目录 1. OC输出比较和PWM1.1 OC输出比较1.2 PWM(脉冲宽度调制)1.3 输出比较通道(高级)1.4 输出比较通道(通用)1.5 输出比较模式1.6 PWM基本结…

MATLAB常用语句总结7

MATLAB总结7:常见错误归纳 本篇专门用于记录一些应试技巧 文章目录 MATLAB总结7:常见错误归纳前言一、一些小定义和小技巧二、蒙塔卡罗求解方法1.函数的定义2.函数引用3.代码量较少的蒙塔卡罗 三、函数引用与多变量四、矩阵引用五、非线性函数&#xff…

14-39 剑和诗人13 - 顶级大模型测试分析和建议

​​​​​ 随着对高级语言功能的需求不断飙升,市场上涌现出大量语言模型,每种模型都拥有独特的优势和功能。然而,驾驭这个错综复杂的生态系统可能是一项艰巨的任务,开发人员和研究人员经常面临选择最适合其特定需求的模型的挑战。…

哈弗架构和冯诺伊曼架构

文章目录 1. 计算机体系结构 2. 哈弗架构(Harvard Architecture) 3. 改进的哈弗架构 4. 冯诺伊曼架构(Von Neumann Architecture) 5. 结构对比 1. 计算机体系结构 计算机体系结构是指计算机系统的组织和实现方式&#xff0c…

Python | Leetcode Python题解之第220题存在重复元素III

题目&#xff1a; 题解&#xff1a; class Solution(object):def containsNearbyAlmostDuplicate(self, nums, k, t):from sortedcontainers import SortedSetst SortedSet()left, right 0, 0res 0while right < len(nums):if right - left > k:st.remove(nums[left]…

Python基础问题汇总

为什么学习Python&#xff1f; 易学易用&#xff1a;Python语法简洁清晰&#xff0c;易于学习。广泛的应用领域&#xff1a;适用于Web开发、数据科学、人工智能、自动化脚本等多种场景。强大的库支持&#xff1a;拥有丰富的第三方库&#xff0c;如NumPy、Pandas、TensorFlow等…

Sass 语法

文章目录 编译变量 \$嵌套 {} > \~导入 import注释 // /*\* \**/混入 mixin/include继承 extend数据类型运算控制 if/for/each/while函数 function媒体查询 media根发出 at-root警告warn/错误error/调试debug 编译 编译命令 单文件转换命令 sass input.scss output.css单…

数学基础 -- 反函数

反函数技术文档 反函数的定义 反函数&#xff08;inverse function&#xff09;是指一种将函数的输出反过来作为输入&#xff0c;从而恢复原来输入的函数。具体来说&#xff0c;如果有一个函数 f f f&#xff0c;它把一个值 x x x 映射到一个值 y y y&#xff0c;即 f ( …

68.WEB渗透测试-信息收集- WAF、框架组件识别(8)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;67.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;7&#xff09; 右边这些是waf的…

Mean teacher are better role models-论文笔记

论文笔记 资料 1.代码地址 2.论文地址 https://arxiv.org/pdf/1703.01780 3.数据集地址 CIFAR-10 https://www.cs.utoronto.ca/~kriz/cifar.html 论文摘要的翻译 最近提出的Temporal Ensembling方法在几个半监督学习基准中取得了最先进的结果。它维护每个训练样本的标签…

PCIe驱动开发(1)— 开发环境搭建

PCIe驱动开发&#xff08;1&#xff09;— 开发环境搭建 一、前言 二、Ubuntu安装 参考: VMware下Ubuntu18.04虚拟机的安装 三、QEMU安装 下载网站&#xff1a; https://download.qemu.org 下载文件&#xff1a;qemu-4.1.0-rc5.tar.xz 使用如下命令解压&#xff1a; tar …

opencv 设置超时时间

经常爬视频数据&#xff0c;然后用opencv做成图片 因此设置超时时间很重要 cap.set(cv2.CAP_PROP_FPS, timeout_ms) for idx, row in data.iterrows(): if idx < 400: continue try: # 打开视频文件 timeout_ms 5000 cap cv2.VideoCapture(row[PLAY_URL]) cap.set(cv2.C…

Linux下使用libiw进行无线信号扫描的实例

打开电脑连接wifi是一件很平常的事情,但这些事情通常都是操作系统下的wifi管理程序替我们完成的,如何在程序中扫描wifi信号其实资料并不多,前面已经有两篇文章介绍了如何使用ioctl()扫描wifi信号,但其实在Linux下有一个简单的库对这些ioctl()的操作进行了封装,这个库就是l…

深入追踪:IPython 中 %tb 命令的异常追踪栈使用指南

深入追踪&#xff1a;IPython 中 %tb 命令的异常追踪栈使用指南 在 IPython 的强大功能中&#xff0c;%tb 命令是一个调试工具&#xff0c;用于在出现异常时查看详细的异常追踪栈信息。这对于开发者来说是一个不可或缺的功能&#xff0c;因为它提供了对错误发生上下文的深入了…

Unity 中,常用的 UnityEngine.Events 中的几个重要的事件处理函数

在 Unity 中&#xff0c;常用的 UnityEngine.Events 中的几个重要的事件处理函数包括&#xff1a; UnityEvent UnityEvent 是 Unity 提供的一种事件系统&#xff0c;可以用来实现脚本与场景中的对象之间的互动。它可以用来定义和响应事件&#xff0c;如按钮点击、物体碰撞等。示…

GPT-5或重塑我们的工作与生活

引言 在人工智能发展的浪潮中&#xff0c;每一次技术的革新都如同潮水般涌来&#xff0c;带来前所未有的机遇与挑战。当新一代大语言模型GPT-5即将登场的消息传来&#xff0c;我们不禁要问&#xff1a;它将如何重塑我们的工作和日常生活&#xff1f;又将开启哪些崭新的应用场景…

故障模式与影响分析(FMEA)的概念

故障模式与影响分析&#xff08;FMEA&#xff09;的概念 故障模式与影响分析&#xff08;Failure Mode and Effects Analysis&#xff0c;FMEA&#xff09;是一种系统性评估方法&#xff0c;用于识别产品设计或过程中可能发生的潜在故障模式&#xff0c;以及这些故障模式对系统…

制作爬取4399游戏名称软件

def 爬取4399(): #发送请求并且拿到源代码 import requests 链接https://www.4399.com/ #网站链接 请求头{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0} #构造请求头用于爬取网站源代码使用 网站源代码…