Crypto
未读CTF 中常见 RSA 题型全总结 刚开学没多久就参加了湾区杯和启沅杯。都有RSA加密的题,来总结一下常见的RSA加密题型。含数学证明、例题、通用解题脚本(基于 CTF 选手常用库:gmpy2、Crypto、Pwntools、sympy、sage 等) 0x00 前言RSA 是 CTF 密码学”送分题”常客,题型高度套路化。本文把出现频率最高的 7+ 类模型抽象出来,给出: 数学推导(严谨证明) 通用模板脚本(直接套) 例题 + 完整解题脚本(能复现) 所有脚本均基于 Python3 + gmpy2 + pycryptodome + sage(可选),与各大比赛环境 100% 兼容。 0x01 工具箱一键安装12pip3 install gmpy2 pycryptodome sympy pwntools# sage 单独装:Ubuntu apt install sagemath 0x02 题型速查表 题型 特征 攻击方法 脚本 1. 低加密指数(e=3) e 很小,明文 m < n^(1/e) 直接开 e 次根 iroot(c,3) 2. 低解密指数 e ...
突然发现自己的博客忘记总结Git,这里总结一下Git的常用命令。 Git 常用命令全解析:从入门到精通一、为什么你需要这篇文章Git 官方文档 1800+ 页,Stack Overflow 问题 30 万+;但日常开发真正高频的命令不到 30 条。本文用“开发时间轴”组织命令,每条给出“场景 + 记忆口诀”,让你 5 分钟建立肌肉记忆。 二、开发时间轴:一条命令一张图 阶段 命令 一句话记忆 1. 上车 git clone <url> “先上车后补票”,仓库拖下来就能跑 2. 同步 git pull “上班先打卡”,把同事代码拖回来 3. 开分支 git switch -c feat/xxx “平行宇宙”,不影响主线 4. 写代码 git add . “拍照存盘”,放进暂存区 5. 提交 git commit -m "feat: 描述" “写标题”,生成一次历史 6. 推送 git push -u origin feat/xxx “第一次寄快递”,填好收件人 7. 合主线 PR → git merge “过安检” ...
今天参加了25年湾区杯,我负责的是Crypto方向的题目,题目有两道,一道RSA加密、另一道结合了三种加密方式。博主只解出来了后者。来总结一下我的WriteUp。 题目内容题目文件 task.py 加密脚本 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859from hashlib import *from Crypto.Cipher import AESfrom Crypto.Util.Padding import padfrom secrets import flag, secretassert secret < 2 ** 50p = 115792089237316195423570985008687907853269984665640564039457584007913129639747Q_components = (123456789, 987654321, 135792468, 864297 ...
计算机组成原理第一章 计算机系统概述1.1 计算机的基本概念电子计算机是一种可以存储程序,并且通过执行程序指令,可以自动、高速、精确地对数字信息进行各种复杂处理,然后输出运算结果的高科技智能电子设备。这一定义涵盖了计算机的核心特征:存储程序能力、自动执行能力、高速运算能力、精确处理能力和信息输出能力。计算机之所以能够实现如此强大的功能,其根本在于它将复杂的运算过程分解为一系列最基本的操作步骤,并通过程序来控制这些步骤的执行顺序和方式。 5 个逻辑模块:输入设备、存储器、输出设备、运算器、控制器。 (如今运算器和控制器已集成在 CPU 中) 这五大逻辑模块的划分最早源自1946年冯·诺依曼提出的存储程序思想。在实际的计算机硬件中,运算器和控制器被集成在同一块芯片上,形成了今天我们所熟知的中央处理器(Central Processing Unit,CPU)。这种集成方式不仅减少了芯片之间的信号传输延迟,还显著提高了系统的整体性能和可靠性。现代CPU内部还集成了高速缓存(Cache),进一步缩短了数据访问时间。五大模块之间的协同工作关系可以概括为:输入设备负责将外部信息转换为计算机可识别的 ...
之前有想过开发一个CTF万能工具,奈何只有我一个人来开发的话,开发工作量会非常大。突然奇想用AI来设计开发方案,(看个乐呵,万一以后complete it)github上面有一个项目,说是集成了所有的CTF工具:ctftools-all-in-one方案参与AI:Kimi(开发思路)———> 扣子空间(具体实现方案)———> deepseek(完善方案) 基于VSCode的CTF工具开发方案一、开发流程概述基于VSCode的CTF工具开发流程分为6个核心阶段,从环境搭建到最终部署形成完整闭环,各阶段关键节点及产出物如下: 环境准备阶段:安装VSCode及必要扩展、系统工具链和依赖包 项目初始化阶段:创建项目结构、配置调试环境和构建任务 核心框架开发阶段:实现插件接口、插件管理器和Python交互层 功能插件开发阶段:开发Base64工具、端口扫描等具体功能插件 测试与调试阶段:单元测试、集成测试和性能优化 打包发布阶段:生成VSCode扩展包并发布到市场 二、环境搭建详细步骤1. VS Code扩展安装通过命令行执行以下命令安装所有必要扩展: 12345678910 ...
内容有点多, 可能有弄错的地方, 注意辨别 第一章 概述1.1 计算机网络在信息时代中的作用 21 世纪的重要特征:数字化,网络化,信息化 21 世纪是以网络为核心的信息时代 常见三类网络:电信网络,有线电视网络,计算机网络 Internet 的中文译名: (1)因特网 (2)互联网:由数量极大的各种计算机网络互连起来 互联网具有两个重要的特点:连通性和共享 (1)连通性:互联网使上网用户之间不管相距多远,都可以非常方便的交换各种信息,好像这些用户中端是直接连通的 (2)共享:就是指资源共享,资源包括信息,软件,硬件 互联网+ 1.2 互联网概述1.2.1 网络的网络 计算机网络:由若干结点和连接这些结点的链路组成。 结点包括:计算机,集线器,交换机,路由器 互联网:网络之间通过路由器互连起来,就构成了一个覆盖范围更大的计算机网络,因此互联网是“网络中的网络” 网络:网络把许多计算机连接在一起,而互联网则把许多网络通过路由器连接在一起。与网络相连的计算机称为主机。 计算机网络的三种定义: 广义观点:实现远程信息处理的系统或能进一步达到资源共享的系统 资源共享观 ...
编程开发
未读最近使用python开发了一个windows桌面应用,本篇博客就用来总结python打包的相关知识,同时简说开发。本文将记录笔者使用pyinstaller踩的所有坑。 一、环境准备(开发) 如果你已经开发完了只想打包,可以跳过此步骤。 开发一个项目通常需要使用到虚拟环境,这是为了防止在开发过程中面临环境冲突、环境污染的情况。这里使用conda来创建虚拟环境。conda下载conda有conda和miniconda,两者功能一样,但miniconda更小,速度更快。这里笔者使用的是miniconda。 1234$ conda env list # 查看所有虚拟环境$ conda init powershell # 初始化shell环境(windows powershell)$ conda activate your_envs # 激活虚拟环境,your_envs为你要激活的虚拟环境名$ conda create -n your_envs python=3.11 # 创建一个python3.11的虚拟环境 第一次使用conda来激活虚拟环境会遇到很多问题,如在初始化shell ...
网络安全
未读针对最近出现的微信点击漏洞/BUG,进行了测试和整理。有部分功能在微信的更新报告中显示已在2023年停用,不知道为什么这些bug仍然存在。 本文仅供信息安全防御技术学习参考,禁止用于非法用途。使用本文内容造成的任何后果由使用者自行承担,与作者无关。 微信点击漏洞/BUG合集目前已知的微信点击漏洞/BUG包括:点击此处自动发消息、打电话、点击直接跳转指定网站和给微信传输助手打电话。 前置条件 系统要求:安卓和鸿蒙系统手机(iOS无法触发) 触发方式:需通过“引用一条消息”发送(直接发会被看到代码) 漏洞/BUG 列表1. 点击自动发消息 说明:早期存在的功能,后被停用,点击后自动向指定对象发送预设消息 代码效果结论12<a href="weixin://bizmsgmenu?msgmenucontent=我喜欢你哈哈&msgmenuid=960">点击此处自动发消息</a>点击后自动发送预设消息 可被用作整蛊工具,其中发到微信群聊里被点击后只会在私信中发送预设消息,不会在群聊中显示 2. 打电话 风险提示: 会生成一个新的 ...
开发工具
未读之前总结过VScode的美化,现在来介绍一些VScode的实用功能。 VS Code实用快捷键与功能指南在开发过程中,掌握一些实用的快捷键和功能可以大幅提升我们的编码效率。以下是VS Code中一些非常实用的操作技巧,这些技巧可以帮助你更快地完成任务,让你的编程体验更加流畅。 一、列编辑操作与Visual Studio中类似,VS Code也支持列编辑功能,其操作方式如下: 按下 Ctrl+Alt 键,然后点击鼠标左键并拖动,即可选中多行中的列进行编辑。 需要特别注意的是,VS Code不同版本的列编辑功能略有差异,具体可参考VS Code 官方文档。 二、变量替换若要一次性替换代码中自动高亮的变量或字符,可采用以下方式: 双击需替换的变量或字符,右键选择“更改所有匹配项”。 或者双击变量后按下 Ctrl+F2,即可快速替换所有匹配项。 三、删除操作当需要删除当前字符串中光标之后的内容时,可使用快捷键 Ctrl+Delete,一键清除光标后的多余内容,使代码更加简洁。 四、跳转与定义查看 按下 F12 可以跳转到当前符号或函数的定义处,方便快速定位代码逻辑。 使用 Shif ...
API接口知识小结 应用程序接口API (Application Programming Interface),是提供特定业务输出能力、连接不同系统的一种约定。这里包括外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点。包括外部接口、内部接口,内部接口又包括:上层服务与下层服务接口、同级接口。 常见web接口是http/https协议的接口,多用于外部系统或前端系统的调用,因为此类接口地址要暴露在外部,所以必须对接口的安全性做较高程度的校验。还要一种基于开源rpc构建的跨系统接口调用接口方案,此类主要用于大公司内网各系统间的互相调用,此类接口服务治理能力更强,接口相应速度更块。以下内容以http接口为例展开的讨论。 一、接口请求方式类型常见的http请求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。接口所属类型是由业务决定的。比如你打开淘宝,展示的首页内容就需要用到get接口,获取页面信息,你看中了宝贝要下单,添加你的收获地址时,用的则是post接口。而这两种也是其中最常见的两种接口类型。 get类型接口格式:请求数参数写在网址 ...



















