SQL注入漏洞之高阶手法 宽字节注入以及编码解释 以及堆叠注入原理说明

目录

 宽字节注入

编码区分

原理

函数

转译符号解释

注意

绕过方式详解

堆叠【Stack】注入攻击

注入语句


 宽字节注入

  • 在说宽字节注入之前 我们需要知道编码相关的知识点,这个有助于搞定什么是宽字节注入
  • 分清楚是ascii码是什么
  • 宽字节注入代码里面加入了addslashes()转移 拼接

编码区分

  • Ascii英文单词符号对应成数字没有涵盖中文 1个单词一个字节 8位二进制计算机保存二进制 数据映射到计算机种类。

  • Unicode 万国码统计编码表 统一4个字节 Unicode可变长度的gbk2312

    • 升级gbk 一个中文2个字节 【十进制 十六进制 八进制】都兼容的编码 可便长度编码

  • utf-8 英文一个字节 一个中文3个字节 其他国家可变字节 兼容性就更加号

    • 存任何语言节约空间,utf就不会出现什么问题。

  • url编码 百分号编码 % 百分号跟的 0x16进制数字 === ascii码

原理

  • 有些网站在注入的时候 做了防护措施

    • 措施就是反斜杠转义 绕不过编码 宽字节转移

      • %2F 反斜杠

函数

  • addslashes和mysql_real_escape_string 函数

转译符号解释

他们转义的字符是单引号(')、双引号(")、反斜线()与NUL(NULL 字符)

  •  转义的方式就是在这些符号前面自动加上 \ ,

  • 让这些符号的意义失效,或者可以理解为被注释掉了

  • 引号转义 防范的 \'

  • 不能返回 数字型的不需要加斜杠的

// "select id,email from member where username='xx\' or  1=1 #'"

    绕过这种方式就是宽字节注入【GBK】反斜杠16进制编码 反斜杠0x5c

    %5C GBK 反斜杠
    0x5c ascii对应16进制
    %23 # 0X23
    • \编码为%5C,我们一般在地址后添加%df。

    • URL编码 %27 单引号

      • 16进制 ascii对应16进制 0x27

    • %5C GBK 反斜杠加一个df 吃一个反斜杠 吃成一个汉字

      • 0x5c ascii对应16进制

    注意

    项目必须是GBK编码

    "select id,email from member where username='xx0xdf0x5c' or  1=1 #'"
    注入语句: xx0xdf0x5c' or  1=1 # 宽字节注入必须是GBK编码
    • 但是URL编码就不行 使用gbk编码 使用ascii 16进制编码

    绕过方式详解

    • 斜杠不能转移 我们将斜杠转化成一个汉字,那么斜杠就没意义了 只要开启了反斜杠转移的情况下 使用了gbk连接数据库的情况下

    • 使用%df吃掉%5c 合成一个汉字让斜杠失去意义,那么单引号闭合就可以使用了

    ss%df%5C' or 1=1 #
    xx0xdf0x5C' or  1=1 #

    • 添加后\变成了汉字,这样就绕过了。之后就和前面的一样了
    • 当然,还有双引号等,除了GBK还有GB2312等编码,有兴趣的可以整理一下所有的。

    堆叠【Stack】注入攻击

    • 一堆sql语句同时执行 分号分隔 如果堆叠注入能够生效 堆叠注入得效果是非常大的,

      • 后面的 增删改查的语句都可以使用

      • 删除数据库 导出数据库数据 等

    • 堆叠注入可执行多条语句 多语句之间以分号隔开。

    • 堆叠注入成功必须需要需要一个条件才能成功

      • 在 mysql 中php的函数里面 mysqli_multi_query 和 mysql_multi_query这两个函数(函数也叫做API)

      • 执行一个或多个针对数据库的查询

      • 多个查询用分号进行分隔

      • 堆叠注入的危害是很大

        • 可以任意使用增删改查的语句,例如删除数据库 修改数据库,添加数据库用户。但实际情况中

        • 如PHP为了防止sql注入,往往调用数据库的函数是mysqli_ query()函数,其只能执行一条语句

      • 分号后面的内容将不会被执行,所以可以说堆叠注入的使用条件十分有限,一旦能够被使用,将对数据安全造成重大威胁。

    注入语句

     ?id=1;create table test like users --+  

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

    如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

    相关文章

    DeepSeek r1本地安装全指南

    环境基本要求 硬件配置 需要本地跑模型,兼顾质量、性能、速度以及满足日常开发需要,我们需要准备以下硬件: CPU:I9内存:128GB硬盘:3-4TB 最新SSD,C盘确保有400GB,其它都可划成D盘…

    最新版仿天涯论坛系统源码带后台

    亲测正常使用版,代码精简,压缩包也小,程序运行速度更快,效率更高,服务器抗攻击能力更强 功能方面: 仿天涯论坛模板的免费论坛系统在功能方面也很强大!程序本身包含一个PC版网站和一个手机版网站 支持打包…

    PostgreSQL 数据备份与恢复:掌握 pg_dump 和 pg_restore 的最佳实践

    title: PostgreSQL 数据备份与恢复:掌握 pg_dump 和 pg_restore 的最佳实践 date: 2025/1/28 updated: 2025/1/28 author: cmdragon excerpt: 在数据库管理中,备份与恢复是确保数据安全和业务连续性的关键措施。PostgreSQL 提供了一系列工具,以便于数据库管理员对数据进行…

    C++ 写一个简单的加减法计算器

    ************* C topic:结构 ************* Structure is a very intersting issue. I really dont like concepts as it is boring. I would like to cases instead. If I want to learn something, donot hesitate to make shits. Like building a house. Wh…

    我的2024年博客总结(在工作、博客和生活中找到自己的生活节奏)

    文章目录 ⭐前言⭐工作和博客的关联⭐找到自己的生活节奏⭐结束 ⭐前言 大家好,我是yma16,本文主要写2024年博客总结,关于在工作、博客和生活中找到自己的生活节奏。 node系列往期文章 node_windows环境变量配置 node_npm发布包 linux_配置…

    【视频+图文详解】HTML基础1-html和css介绍、上网原理

    图文详解 html介绍 概念:html是超文本标记语言的缩写,其英文全称为HyperText Markup Language,是用来搭建网站结构的语言,比如网页上的文字,按钮,图片,视频等。html的版本分为1.0、2.0、3.0、…

    VT:优化LLM推理过程的记忆与探索

    📖标题:LLMs Can Plan Only If We Tell Them 🌐来源:arXiv, 2501.13545 🌟摘要 🔸大型语言模型(LLM)在自然语言处理和推理方面表现出了显著的能力,但它们在自主规划方面…

    C++并发编程指南07

    文章目录 [TOC]5.1 内存模型5.1.1 对象和内存位置图5.1 分解一个 struct,展示不同对象的内存位置 5.1.2 对象、内存位置和并发5.1.3 修改顺序示例代码 5.2 原子操作和原子类型5.2.1 标准原子类型标准库中的原子类型特殊的原子类型备选名称内存顺序参数 5.2.2 std::a…

    日志收集Day007

    1.配置ES集群TLS认证: (1)elk101节点生成证书文件 cd /usr/share/elasticsearch ./bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass "" --days 3650 (2)elk101节点为证书文件修改属主和属组 chown elasticsearch:elasticsearch con…

    AJAX综合案例——图书管理

    黑马程序员视频地址: AJAX-Day02-10.案例_图书管理AJAX-Day02-10.案例_图书管理_总结_V1.0是黑马程序员前端AJAX入门到实战全套教程,包含学前端框架必会的(ajaxnode.jswebpackgit),一套全覆盖的第25集视频&#xff0c…

    Linux_线程同步生产者消费者模型

    同步的相关概念 同步:在保证数据安全的前提下,让线程能够按照某种特定的顺序访问临界资源,从而有效避免饥饿问题,叫做同步竞态条件:因为时序问题,而导致程序异常,我们称之为竞态条件。 同步的…

    Qt u盘自动升级软件

    Qt u盘自动升级软件 Chapter1 Qt u盘自动升级软件u盘自动升级软件思路:step1. 获取U盘 判断U盘名字是否正确, 升级文件是否存在。step2. 升级step3. 升级界面 Chapter2 Qt 嵌入式设备应用程序,通过U盘升级的一种思路Chapter3 在开发板上运行的…

    拦截器快速入门及详解

    拦截器Interceptor 快速入门 什么是拦截器? 是一种动态拦截方法调用的机制,类似于过滤器。 拦截器是Spring框架中提供的,用来动态拦截控制器方法的执行。 拦截器的作用:拦截请求,在指定方法调用前后,根…

    信息安全专业优秀毕业设计选题汇总:热点选题

    目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光,一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整理…

    Linux中使用unzip

    安装命令 yum install unzip unzip常用选项和参数 选项 说明 -q 隐藏解压过程中的消息输出 -d /path/to/directory 指定解压文件的目标目录 -P password 如果.zip文件被密码保护,使用此选项可以指定打开文件所需的密码 解压命令 unzip 要解压的压缩包unz…

    ThreadLocal源码解析

    文章目录 一、概述二、get()方法三、set()方法四、可能导致的内存泄漏问题五、remove六、思考:为什么要将ThreadLocalMap的value设置为强引用? 一、概述 ThreadLocal是线程私有的,独立初始化的变量副本。存放在和线程进行绑定的ThreadLocalMa…

    批量解密,再也没有任何限制了

    有的时候我们在网上下载了PDF文档。发现没有办法进行任何的操作,就连打印权限都没有。今天给大家介绍的这个软件可以一键帮你进行PDF解密,非常方便,完全免费。 PDF智能助手 批量解密PDF文件 这个软件不是很大,只有10MB&#xff…

    《LLM大语言模型+RAG实战+Langchain+ChatGLM-4+Transformer》

    文章目录 Langchain的定义Langchain的组成三个核心组件实现整个核心组成部分 为什么要使用LangchainLangchain的底层原理Langchain实战操作LangSmithLangChain调用LLM安装openAI库-国内镜像源代码运行结果小结 使用Langchain的提示模板部署Langchain程序安装langserve代码请求格…

    车载软件 --- 大一新生入门汽车零部件嵌入式开发

    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

    有效运作神经网络

    内容来自https://www.bilibili.com/video/BV1FT4y1E74V,仅为本人学习所用。 文章目录 训练集、验证集、测试集偏差、方差正则化正则化参数为什么正则化可以减少过拟合Dropout正则化Inverted Dropout其他的正则化方法数据增广Early stopping 归一化梯度消失与梯度爆…