跳到正文
cccskills
免费在 GitHub 公开

CTF•题解写作

用于把已经完成的解题过程整理成结构化、可复现、可提交的 CTF 题解文档,适合赛后复盘、队内同步与对外提交说明;触发名:ctf-writeup

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md4.6 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

CTF Write-up Generator

Generate a standardized submission-style CTF writeup for a solved challenge.

Default behavior:

  • During an active competition, optimize for speed, clarity, and reproducibility
  • Keep writeups short enough that a teammate or organizer can validate the solve quickly
  • Always produce a submission-style writeup
  • Prefer one complete solve script from challenge data to final flag

Workflow

Step 1: Gather Information

Collect the following from the current session, challenge files, and user input:

  1. Challenge metadata — name, CTF event, category, difficulty, points, flag format
  2. Solution artifacts — exploit scripts, payloads, screenshots, command output
  3. Timeline — key steps taken, dead ends, pivots
# Scan for exploit scripts and artifacts
find . -name '*.py' -o -name '*.sh' -o -name 'exploit*' -o -name 'solve*' | head -20
# Check for flags in output files
grep -rniE '(flag|ctf|eno|htb|pico)\{' . 2>/dev/null

Step 2: Generate Write-up

Write the writeup file as writeup.md (or writeup-<challenge-name>.md) using the submission template below.


Templates

Submission Format

---
title: "<Challenge Name>"
ctf: "<CTF Event Name>"
date: YYYY-MM-DD
category: web|pwn|crypto|reverse|forensics|osint|malware|misc
difficulty: easy|medium|hard
points: <number>
flag_format: "flag{...}"
author: "<your name or team>"
---

# <Challenge Name>

## Summary

<1-2 sentences: what the challenge was and the core technique. Keep it direct.>

## Solution

### Step 1: <Action>

<Explain the key observation in 3-8 short lines. Keep it direct.>

\`\`\`python
<one complete solving script from provided challenge data to printing the final flag>
\`\`\`

### Step 2: <Action> (optional)

<Only add this when a second short step genuinely helps readability, such as separating the core observation from final verification.>

### Step 3: <Action> (optional)

<Use only if the challenge really needs it. Keep the total number of steps small.>

## Flag

\`\`\`
flag{example_flag_here}
\`\`\`

Guidance:

  • Prefer 1-3 short steps total
  • Keep code to the smallest complete solving script
  • Do not split "recover secret", "derive key", and "decrypt flag" into separate partial snippets
  • The script should start from the challenge data and end by printing the flag
  • Avoid long background sections
  • Avoid dead ends unless they explain a key pivot
  • Avoid multiple alternative solves; pick one clean path
  • Redact the flag only if the user explicitly asks for redaction

Best Practices Checklist

Before finalizing the writeup, verify:

  • Metadata complete — title, CTF, date, category, difficulty, points, author all filled
  • Flag handling matches request — keep the real flag unless the user asked for redaction
  • Reproducible steps — a reader can follow your writeup and reproduce the solution
  • Code is runnable — exploit scripts include all imports, correct variable names, and comments
  • No sensitive data — no real credentials, API keys, or private infrastructure details
  • Length stays concise — the writeup is short enough for fast review
  • Tools and versions noted — mention specific tool versions if behavior depends on them
  • Proper attribution — credit teammates, referenced writeups, or tools that were essential
  • Grammar and formatting — consistent heading levels, code blocks have language tags

Quality Guidelines

DO:

  • Explain just enough for fast verification
  • Include one complete solving path, not multiple alternative routes
  • Include one complete script that goes all the way to the final flag
  • Show actual output (truncated if very long) to prove the approach worked
  • Tag code blocks with language (python, bash, sql, etc.)
  • Keep the main path front-loaded so a reader can validate it quickly

DON'T:

  • Copy-paste raw terminal dumps without explanation
  • Paste several partial snippets that force the reader to reconstruct the final solve
  • Leave placeholder text in the final writeup
  • Include irrelevant tangents that don't contribute to the solution
  • Assume the reader knows the specific challenge setup

Challenge

$ARGUMENTS

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

用于对抗样本、模型提取、提示注入、成员推断、训练投毒、LoRA 滥用、LLM 越狱等 AI/ML 相关 CTF 题;触发名:ctf-ai-ml

中文简介正在准备中。当前显示原文说明。

asdfgh1445/ctf-super-hub8372026年10月2日 更新

用于 XSS、SQL 注入、SSTI、SSRF、XXE、JWT、鉴权绕过、文件上传、请求走私、OAuth/OIDC、SAML 与原型污染等 Web 类 CTF 题;触发名:ctf-web

中文简介正在准备中。当前显示原文说明。

asdfgh1445/ctf-super-hub8372026年10月2日 更新

用于缓冲区溢出、格式化字符串、堆利用、ROP、ret2libc、shellcode、内核利用、seccomp 绕过与沙箱逃逸等 pwn 类 CTF 题;触发名:ctf-pwn

中文简介正在准备中。当前显示原文说明。

asdfgh1445/ctf-super-hub8372026年10月2日 更新

用于 RSA、AES、ECC、格攻击、LWE、CVP、Coppersmith、Pollard、Wiener、填充预言机、GCM、KDF、伪随机数与零知识证明等密码学和数学类 CTF 题;触发名:ctf-crypto

中文简介正在准备中。当前显示原文说明。

asdfgh1445/ctf-super-hub8372026年10月2日 更新

用于公开资料检索、社交媒体分析、地理定位、DNS、用户名枚举、反向图片搜索、历史快照、公开记录与坐标识别等 OSINT 类 CTF 题;触发名:ctf-osint

中文简介正在准备中。当前显示原文说明。

asdfgh1445/ctf-super-hub8372026年10月2日 更新

用于混淆脚本、恶意样本、自定义加密协议、C2 流量、PE/.NET 二进制、RC4/AES 通信、YARA、shellcode、进程注入与反分析等恶意软件类 CTF 题;触发名:ctf-malware

中文简介正在准备中。当前显示原文说明。

asdfgh1445/ctf-super-hub8372026年10月2日 更新

查看 asdfgh1445 的全部技能

报告此技能的问题