如何从0用GitHub搭建自己的博客
前言很多人都想拥有一个属于自己的博客,但又觉得搭建博客很复杂、需要花钱买服务器。其实,利用 GitHub Pages + Hexo,你可以完全免费地搭建一个功能强大、外观精美的个人博客,而且不需要任何服务器运维知识。 本文将带你从零开始,一步步搭建一个属于自己的博客。我会尽量写得详细,即使你是完全的新手,也能跟着操作完成。 一、准备工作1.1 注册 GitHub 账号GitHub 是全球最大的代码托管平台,我们的博客就托管在 GitHub 上。 访问 https://github.com 点击右上角 “Sign up” 输入邮箱、密码、用户名,完成注册 验证邮箱 注意:用户名很...
如何用 Cloudflare 搭建班级文化网站 / 个人博客
前言想给班级做一个文化展示网站,或者想搭一个属于自己的博客,第一反应往往是”是不是要买服务器、买域名、学运维”。其实不用。借助 Cloudflare Pages,你可以完全免费地得到一个带全球 CDN、自动 HTTPS、支持自定义域名的网站,而且部署过程比想象中简单得多。 本文会带你用同一套 Cloudflare Pages 的思路,从零搭建两个站点: 一个班级文化网站:用 Vue 3 + Vite 写成,用来展示班级风采、成员、荣誉和活动纪事; 一个个人博客:用 Hexo + Butterfly 写成,用来沉淀技术文章。 两者都不需要服务器,push 到 GitHub 就会自动构建...
PwnHunter:我把 CTF PWN 题做成了自动解题引擎
项目地址:github.com/TSVMV/pwnhunter · 仅用于 CTF 训练平台与授权环境 做 PWN 题的时间分配大概是这样的:checksec 查保护、cyclic 算偏移、认 libc 版本、套模板写 exp、本地调通、远程打 flag——这些套路化操作占了七成时间,真正考验思路的”这个洞怎么利用”只占三成。 于是我把那七成做成了引擎。pwnhunter 是一个 CTF PWN 自动解题引擎:给定题目附件(ELF / libc / 源码)与远程实例地址,自动完成侦察、漏洞探测、exploit 生成、本地验证与远程 flag 获...
vscseny:本地静态代码扫描,你的代码有没有危险调用
写代码的时候,有些函数调用本身就是危险信号——strcpy、system、eval、硬编码的密钥、弱加密算法。CodeQL 和 SonarQube 功能强,但部署重、要联网、对个人项目来说太重了。 vscseny 是一个本地静态代码扫描器,Go 写的,下载二进制直接跑,不需要运行时。指向你的项目目录,它报告危险调用、弱加密、硬编码密钥和常见错误,按严重程度排序。 特点完全离线运行,代码不会上传到任何地方。做安全工具这一点很重要——扫描自己项目的代码不应该经过第三方服务器。 Go 编译成单二进制,Windows 和 Linux 都有,下载解压就能用,不需要装 Python、Node 或...
vllixn:一条命令给 Linux 主机做安全体检
管服务器的时候,经常需要快速判断一台机器安不安全。网上的基线检查工具不少,但要么依赖一堆第三方库,要么输出英文报告看不懂,要么会偷偷改你系统配置。 vllixn 是我写的只读 Linux 主机安全体检工具。一条命令跑完,输出中文报告、分类雷达图和 0-100 评分。 检查范围九大分类,覆盖 Linux 主机安全的主要面: 账户:UID 0 别名、空口令、系统账户可登录 shell、重复 UID、sudo NOPASSWD、authorized_keys 权限、口令有效期、默认 umask、PAM 口令复杂度、登录失败锁定。 SSH:root 登录、口令认证、空口令、端口转发、X11 ...
cinema:把二进制执行过程变成可回放的电影
调试二进制的时候,经常会想”刚才那一步寄存器是什么样的”。strace 能告诉你发生了什么系统调用,但没法回答某一帧的完整状态——寄存器、内存、调用栈,以及它和前后帧的关系。gdb 能单步,但往前退一步几乎不可能。 cinema(放映机)就是解决这个问题的:把二进制的执行过程录下来,任意一帧都可以瞬间回去看。 核心思路基于 Unicorn Engine 做指令级事件采集。程序跑的时候,每条指令执行前后的状态都被记录下来。但如果每条指令都存完整快照,百万级事件的轨迹文件会大到没法用。 所以用了快照 + dirty page 追踪:间隔几何增长地做快照(快照数是对数级于事件数),中间帧通...
crypto-gu:纯标准库密码学工具箱,原语和攻击放在同一个内核
做 CTF 密码学题的时候,经常需要自己实现一些原语或者攻击。pycryptodome 能加密解密,但攻击(padding oracle、共模攻击、Wiener 这些)得自己写。每次比赛翻以前的 exp 复制粘贴,时间长了就想把这些东西整理成一个库。 crypto-gu 就是这么来的。纯 Python 标准库,零第三方依赖,把生产形态的密码学原语和确定性攻击实现放在同一个内核里。 原语层哈希:SHA-1、SHA-256、SHA-512、MD5、BLAKE2b、BLAKE2s、HMAC。还有长度扩展攻击的实现。 KDF:PBKDF2、HKDF(extract/expand)、...
elfpeek:把 ELF/PE 二进制拆成一张结构图
做逆向的时候,拿到一个二进制第一件事就是搞清楚它的骨架——哪些节区、入口在哪、依赖什么库、开了哪些加固。readelf 和 objdump 能用,但输出是纯文本,节区在文件里占多大比例、内存里怎么映射,全靠脑补。 所以写了 elfpeek,把 ELF 和 PE 解析成一张可视化结构图。 能看什么文件总览:格式、位宽、端序、类型、机器架构、入口地址。PE 还会显示映像基址和子系统。 加固特性:ELF 这边查 PIE、NX、RELRO(完整还是部分)、Canary、FORTIFY、有没有 RWX 段。PE 这边查 ASLR、DEP、CFG、高熵 VA、SEHOP。这些是拿到二进制第一眼看...
青岑密码学题集 WP
写在前面这套题从 01 做到 55(中间跳了 41、42),工具链、古典密码、数论、分组密码、伪随机数、RSA、椭圆曲线、侧信道都过了一遍。写的时候就是边做边记,卡哪写哪。 几个反复用到的东西先写这儿,后面就不重复了。 模运算不用解释。模逆元就是模世界里的除法,pow(a, -1, m) 一行搞定,前提是 gcd(a,m)=1。字节和十六进制来回转是日常:bytes.fromhex()、int.to_bytes()、pycryptodome 的 long_to_bytes / bytes_to_long。异或记住 a ^ b ^ b == a,流密码的命根子。 cha...
后缀数组(SA)详解—从倍增法到 LCP 应用
后缀数组(Suffix Array, SA)是字符串处理的另一大杀器。和 SAM 相比,SA 写起来简单一些,功能也覆盖了大部分字符串问题:不同子串个数、最长公共子串、出现次数统计、模式匹配。 这篇文章讲倍增法构造 SA,以及 LCP 数组的应用。 1. 什么是后缀数组对字符串 S,后缀数组 SA[i] 表示”排名第 i 的后缀的起始位置”。 比如 S = “ababa”: 后缀 0: ababa 后缀 1: baba 后缀 2: aba 后缀 3: ba 后缀 4: a 按字典序排序: a (后缀4) aba (后缀2) ababa (后缀0) ba (后缀3) b...






