ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

CTF压缩包爆破全攻略:从原理到实战

CTF压缩包爆破全攻略:从原理到实战 CTF里压缩包爆破这道题说难也难说简单也简单。难的是你不会判断加密类型、不懂绕过思路只会拿个工具傻跑简单的是只要搞懂出题人留了哪些口子爆破其实就是水到渠成的事。这篇文章就把压缩包密码爆破这条线完整捋一遍——从压缩包加密的原理、工具选型、实操命令到伪加密、明文攻击、CRC32碰撞这些进阶套路再到解题时的排查思路。内容不端着都是我自己在靶场和比赛里用过的野路子加正路子零基础也能按步骤跟着做。如果你正准备打CTF的杂项方向或者只是对“破解压缩包密码”这件事好奇这篇都适合你。文章核心就一个目标看到压缩包题目脑子里能立刻生成一套完整的打法和对应的命令。1. 压缩包爆破到底在解什么先搞懂出题逻辑很多人一看到“压缩包密码爆破”就急着搜工具结果下了半天软件也不知道自己在干嘛。先停下来搞清楚这道题背后到底发生了什么。1.1 你遇到的压缩包加密本质上有哪几类CTF里面出现的加密压缩包绝大多数是ZIP格式偶尔出现RAR极少数会碰到7z。不同格式的加密机制不太一样但核心原理都跑不出这几个方向。以ZIP为例它有两种常见的加密方式一种是传统的ZipCrypto用的是一种叫PKZIP的流加密算法特点是兼容性好、破解难度相对低ctf杂项里百分之八九十的压缩包加密都是这种另一种是AES加密比如WinZip、7-Zip里可以选择AES-128、AES-256这种安全性高很多纯爆破基本不现实这种一般不会出现在纯密码爆破题里更多是配合弱密码或线索暗示来出。RAR加密则分RAR3、RAR4、RAR5几个版本老版本RAR3的加密相对脆弱一些爆破速度尚可到了RAR5迭代次数大幅度增加GPU跑起来都费劲基本告别盲目爆破。这里要先给大家泼一盆冷水破解的本质不是“解密”而是“猜密码”。压缩包的加密算法本身是牢固的在不知道密码的情况下无法直接把密文还原成明文。我们能做的就是不断尝试可能的密码输入进去看看哪一次能解压成功。用户的密码是“password”你也只能从password1试到password9999直到撞上正确的那串字符。所以整道题的关键就变成了两个问题密码的“候选空间”是什么用什么方式快速试完这个空间出题人会在这两个问题上做手脚你解题也是在这两个点上找突破口。1.2 为什么暴力破解在CTF里能成立弱密码和短密码按理说暴力破解在真实世界的加密压缩包面前基本无效毕竟密码稍微长一点空间就大到天文数字。但CTF的出题逻辑不一样出题人不会把密码设置成一串毫无规律的32位随机字符那样谁都解不开题目就没有意义了。CTF里的压缩包密码通常遵循这几个规律密码是一个常见弱口令比如admin、123456、password、qwerty。密码是纯数字长度在1到8位之间。密码是一个跟文件名、提示语、题目描述相关的单词组合比如文件名是flag.zip密码可能就是flag、ctf、key等。密码是年月日这类有规律的数字比如20240101。正因为密码空间小、规律性强爆破才成为可行的方案。说白了这就是在跟出题人的“懒”做斗争。你只要构建出一个足够贴合题意的字典或者在有限的位数空间里跑一遍结果往往就出来了。1.3 爆破方案的大方向字典、掩码、还是纯暴力不同的前提条件对应不同的爆破策略千万不能一上来就全是暴力跑数字。字典攻击密码是常见口令或常见单词这是最高效的方式。一个包含常用密码、CTF常用密码、键盘密码、年份密码组合的字典可能只有几万行跑完也就几秒钟的事。掩码攻击你知道密码的一部分规则比如“8位数字”“6位小写字母”“生日姓名缩写”就可以通过掩码把爆破空间缩小到特定子集比如?d?d?d?d?d?d表示6位纯数字空间只有100万种GPU跑起来是秒破的。纯暴力完全不限制字符集和长度小空间可以试试大空间就算了。纯暴力只能作为最后的兜底方案。理解了这个逻辑才算真正进了爆破的门。接下来就是要选对工具不要一股脑装五六个软件而是搞清楚哪个环节该用什么。2. 开箱即用的爆破工具按场景选最顺手的那把工具不在多在于每个场景都知道用哪个。我带过不少新人最常见的问题就是下载了一堆工具反而不知道怎么选。这里直接按使用场景来给大家梳理。2.1 John the Ripper从ZIP到RAR全兼容的横扫选手John the Ripper后面都简称John是我用下来最推荐的通用爆破工具。它的强项在于几乎能处理所有常见的hash类型包括ZIP、RAR、7z等压缩包格式都能识别和爆破。它不是一个直接解压的工具而是配合“提取hash爆破hash”两步走。什么叫提取hash简单说加密压缩包里有一段校验信息可以用工具把它提取出来。John的配套工具zip2john就是干这个的。比如你手上有个flag.zip想要爆破密码经典操作是# 第一步从加密zip中提取hash zip2john flag.zip hash.txt # 第二步用字典爆破hash文件 john --wordlistrockyou.txt hash.txt--wordlist参数指定字典路径rockyou.txt是Kali系统自带的一个著名密码字典包含了一千多万个真实泄露密码CTF里非常常用。如果字典里碰巧有正确密码John会输出类似abc123 (flag.zip)括号左侧就是爆破出来的密码。操作逻辑很简单但有几个小细节要注意第一步提取失败的话可能压缩包不是标准ZIP也可能是其他加密方式需要检查后续章节提到的伪加密情况。John的默认规则会自动扩展一些密码变体比如字典里有adminJohn会尝试admin123、Admin等变体这是它的一个增强功能有时候会有意外惊喜。如果没跑出来可以考虑加--fork8用多核并行跑速度会快一些。2.2 fcrackzip专门对付ZIP的轻量快刀fcrackzip是另一个我用得很多的小工具它直接针对ZIP格式不需要先从zip里提取hash再跑而是直接把压缩包路径丢给它配合字典或暴力模式就能跑。# 字典模式 fcrackzip -u -D -p rockyou.txt flag.zip # 纯暴力模式指定8位数字 fcrackzip -u -b -l 1-8 -c 1 flag.zip-u表示解压验证保证找到的是正确密码-D是字典模式-p指定字典路径。-b是暴力模式-l 1-8表示密码长度从1到8-c 1限定字符集为数字。fcrackzip的优势是命令简洁脚本里嵌套起来很方便适合做自动化。缺点是对RAR、7z无能为力而且速度上比John配GPU要慢一些。所以我的习惯是ZIP格式用fcrackzip先跑一轮字典能出就出了如果出不来再用zip2johnJohn跑掩码或者配合规则扩展。2.3 ARCHPRWindows图形界面党的救星很多刚接触CTF的朋友用的还是Windows环境命令行看着就头疼这时候ARCHPRAdvanced Archive Password Recovery就是首选了。ARCHPR是一个老牌图形化压缩包解密工具支持的格式包括ZIP、RAR、以及老版本的ACE等。它的界面很直观左边选择压缩包文件右边选择攻击类型和范围点Start就开始跑了。它有几个核心选项值得记忆攻击类型选“Brute-force”然后在“范围”里勾选字符集数字、小写、大写、特殊字符等在“长度”里填起始长度和结束长度。如果知道密码大概是纯数字就只勾数字跑得快很多。勾了一大堆符号空间会膨胀好几倍。它和John、fcrackzip的区别在于ARCHPR对RAR支持更好尤其是RAR3老格式的爆破速度还算理想。ARCHPR的历史版本可以在网上找到新版本是商业软件但老版本在CTF圈子里依然够用。如果你是纯新手又不想碰命令行就从它开始。2.4 hashcat跑掩码和大字典的终极武器前面几个工具适合跑小字典和小空间但遇到稍微复杂一点的密码规则比如“大小写字母数字的8位密码”CPU爆破会慢到让人怀疑人生。这时候就该hashcat上场了。hashcat是GPU暴力破解工具利用显卡的并行计算能力做大规模密码尝试。压缩包相关的模块主要是13600ZIP文件中的ZipCrypto hash17225ZIP文件中的PKZIP 2.0加密 hash125RAR3 hash23700RAR5 hash用hashcat跑ZIP需要先通过zip2john得到hash文件然后指定模块ID和掩码# 用zip2john提取hash后hashcat跑8位纯数字 hashcat -m 13600 hash.txt ?d?d?d?d?d?d?d?d # 跑“生日年份四位数字”类的掩码 hashcat -m 13600 hash.txt 199?d?d?d?d?d掩码的规则不难记?d是数字?l是小写字母?u是大写字母?s是特殊字符?a是所有可见字符。多个掩码组合起来就是密码的模板。使用hashcat有两个前提条件一是你得有NVIDIA或AMD的独立显卡或者用CPU的OpenCL模式跑速度打折扣二是需要装好显卡驱动。Kali里一般集成了hashcatWindows就要自己装了。如果不满足条件也可以先跳过这个工具等后面有了GPU环境再回来用。2.5 工具选型小结工具不在多够用就好。我把自己的工具选型逻辑整理成了一张表场景推荐工具理由ZIP 字典fcrackzip命令简单跑得快一次到位ZIP 掩码/复杂规则John the Ripperhash提取和规则扩展一体通用性强RAR老版本ARCHPR图形界面友好RAR支持比命令行工具好大字典/GPU环境hashcat速度碾压CPU工具掩码灵活7zhashcat 7z2john少见但要用对了工具才行说实话只要你把fcrackzip和John这两个玩明白CTF杂项里九成压缩包题都够了。hashcat属于进阶强化ARCHPR是Windows新手的好帮手。工具不在数量在于你能不能在正确场景下用对工具。3. 实操从拿到压缩包到跑出密码的完整流水线光说不练假把式这一节我带大家完整走一遍实操流程。以下是一个标准的CTF杂项压缩包题跟着我的步骤来每一步都解释为什么这么做。3.1 拿到压缩包后第一件事不是爆破而是信息收集很多新手拿到压缩包二话不说就把工具开起来跑结果跑了半小时出了个寂寞。正确做法是先花两分钟做信息收集这一步往往能直接帮你找到密码省掉爆破的大量时间。信息收集包括这些动作查看文件名和压缩包内结构用unzip -l flag.zip可以看到压缩包里有几个文件、分别叫什么名字、大小是多少。有时候压缩包内的文件名本身就暗示了密码比如文件名是password_is_123456.txt这种出题人已经把答案写在脸上了。检查注释信息字符串文件是没有生命的但文件背后有出题人。ZIP文件可以附带注释注释里可能藏着线索。用zipinfo -v flag.zip或者直接在Windows里打开压缩包看“注释”字段都能查到。探测加密类型用7z l -slt flag.zip能看到压缩包的具体加密算法这个信息决定了你的爆破策略。如果显示Method ZipCrypto Deflate那放心爆破如果是AES-256那纯爆破大概率没戏得回头找线索。查看文件本身是否有隐写信息有些压缩包会附带一个readme.txt或者hint.jpg里面可能写着密码提示。可以先解压出非加密的文件部分如果能解开的话但在加密包中通常要整体密码才能解压所以这个步骤更多是看压缩包文件本身有没有绑定其他东西比如备注、附加数据。以我个人的习惯如果压缩包文件名或注释里带着hint、password、key、生日这类关键词我会优先人工试几个常见密码比如flag、ctf、admin、123456、2024。人工试密码不丢人这其实是CTF的基本功——出题人设了密码就是想让你从线索里找出来而不是真的让你跑穷举。3.2 完整爆破流程fcrackzip先上场John再补刀假设信息收集没搞到明确密码那我们进入正题——爆破。以下是最完整的命令流水线。第一步用fcrackzip跑标准字典。这里的字典我推荐优先用Kali自带的rockyou.txt如果你用的是Windows可以从网上下载rockyou的压缩包解压后使用。跑法很简单fcrackzip -u -D -p /usr/share/wordlists/rockyou.txt flag.zip解释一下参数-u是验证模式找到密码后会尝试解压确认防止报错-D是字典模式-p指定字典文件路径。这条命令跑完如果密码在rockyou字典里界面会出现类似PASSWORD FOUND!!!!: pw flag123的输出。如果字典没跑出来第二步用zip2john提取hash再用John加规则跑zip2john flag.zip hash.txt john --wordlist/usr/share/wordlists/rockyou.txt hash.txt如果还没出来可以给John加规则集让它基于字典词自动变体例如在密码后面追加数字、变换大小写等john --wordlist/usr/share/wordlists/rockyou.txt --rulesAll hash.txt这里--rulesAll的意思是把字典里的每个词条做很多种变形尝试比如admin会变成admin1、admin123、admin!、Admin覆盖范围比原字典大得多耗时会增加但概率也提升一截。第三步如果字典加规则都失败那就考虑掩码爆破。最常见的情况是密码就是纯数字或者短字符串直接用John的掩码模式跑# 跑1到8位纯数字 john --incremental:digits hash.txt--incremental:digits是John内置的一个纯数字模式从短到长逐个跑。如果你的密码是“6位数字”这种常见情况它会以极快的速度跑完基本上几秒到几十秒。3.3 掩码爆破的具体操作和参数选择前三步是一个常规链每一步之间的递进逻辑是字典效率最高所以先跑字典字典不够就加规则变体变体还不够再考虑掩码暴力。如果到掩码这步还没出基本可以怀疑密码不在常规思路里那就得回到前面提到的线索分析看是不是伪加密或者是不是有别的隐藏信息。掩码爆破的参数选择直接影响爆破时间。这里给一个时间预估的常识密码长度字符集候选空间CPU爆破估算时间6位纯数字0-9100万秒级8位纯数字0-91亿分钟级8位小写字母a-z2000亿小时级8位大小写数字a-zA-Z0-92.8万亿天级取决于CPU这就是为什么我一直强调不要无脑暴力。你在跑掩码前得先判断密码可能的类型比如题目描述里出现“2024”“flag”这类关键词密码很可能围绕这些词做变化。别一上来就搞全字符集8位那个空间说出来都吓人。John的掩码格式和hashcat稍微不同它更多是用--incremental或者--mask参数。新版John支持--mask?d?d?d?d?d?d这种写法老版本则用--incremental:digits具体看你的Kali版本。3.4 实操现场实录一道典型题的完整复盘为了让大家更有实感我拿一个曾经在靶场遇到过的题目做个复盘。题目给了一个secret.zip没有别的提示。我的处理流程是这样先用zipinfo查看压缩包内容发现里面只有一个flag.txt加密算法是ZipCrypto。尝试人工密码123456、password、secret全都不对。跑fcrackzip rockyou字典没有结果。用zip2john提取hashJohn加规则跑同样没结果。问题回到题目本身重新检查文件名发现secret.zip的文件头前多了几个字节用十六进制编辑器打开后发现文件末尾有一串数字19980214。人工输入这个日期解压成功。这个例子特别典型爆破不是唯一手段甚至不是主要手段。信息收集和观察力才是CTF的核心爆破只是兜底手段。如果一开始只看文件名就直接爆破这道题可能永远解不开因为你不知道密码是生日。所以大家在做这类题的时候一定要保持一个意识压缩包只是载体出题人的思路才是你要找的东西。密码不会平白无故冒出来它总藏在某个角落。4. 进阶套路伪加密、明文攻击和CRC32碰撞前面讲的是最常规的正面对抗学会以后你已经能解决一大半压缩包题目了。但出题人也不是吃素的很多时候不会老老实实给你一个能爆破的加密包而是会跟你玩些花样。这一节讲的三个进阶套路是CTF杂项里出现频率很高的“脑洞题”类型。4.1 伪加密看着锁死了其实一推就开“伪加密”这个词在CTF里特别常见。它的原理很简单ZIP文件头的通用位标志general purpose bit flag里有一位是“加密标志位”。很多压缩软件在加密时会把这一位置为1在解密时则读取这一位来判断是否需要密码。出题人可以手动修改这个标志位把一个原本没有加密的压缩包标记成加密状态。你以为需要密码实际数据区根本没有加密稍微用点方法就能把文件内容提取出来。怎么判断一个ZIP是不是伪加密有几种方法用zipinfo -v file.zip看加密标志位如果显示encrypted但实际解压不需要密码那就可疑。用binwalk file.zip查看文件结构。直接尝试用16进制编辑器查看ZIP文件头。一个正常的加密ZIP通用位标志的值通常是0x0001第一位置1如果标志位是0x0009这类奇怪的组合很可能是伪加密。最简单的验证方法是用7z或者Python的zipfile库直接尝试读取。比如在Python里import zipfile try: with zipfile.ZipFile(flag.zip) as zf: zf.extractall() print(解压成功伪加密确认) except RuntimeError: print(需要密码真实加密)注意zipfile在遇到伪加密时会直接报错因为它读取了标志位后认为需要密码。所以这个方法的准确性不够更靠谱的是修改标志位后再试。手动修复伪加密的操作也不难。用010 Editor或者HxD打开ZIP文件找到文件头中的通用位标志字段位于文件头偏移第6、7字节处把加密标志位从1改为0保存后再试解压一般就能直接解开了。也可以用现成的工具处理比如Linux下的zipdetails可以看清楚ZIP内部结构Windows下的“ZipCenOp”工具可以一键修复伪加密。工具归工具原理还是那个把伪造的加密位改回正常值。4.2 明文攻击知道部分明文就能反推密文明文攻击Known Plaintext Attack是一个听起来高大上、实际用起来也不复杂的攻击手法。它利用的是ZipCrypto算法的弱点如果你知道被加密文件内部的某段明文内容就可以利用这段明文与密文的对应关系反推出加密密钥从而解出整个压缩包。CTF里出现明文攻击的场景通常是压缩包里有一个文件的内容是已知的。怎么“已知”可能是出题人放进去一个readme.txt里面内容你通过其他渠道看到了也可能是压缩包内大部分文件你能猜到内容比如一个flag.txt外面有一层固定格式的头部。明文攻击的条件比较苛刻需要已知明文至少12个字节并且这12个字节最好是连续的、没有被改动过的。如果满足条件可以用pkcrack这个老牌工具来实施攻击。pkcrack的使用流程大致是准备压缩包encrypted.zip和一段已知明文文件known.txt。把明文文件用相同压缩算法压缩成known.zip这一步是为了让它和加密包里的文件保持同样的压缩流格式。运行pkcrackpkcrack -c encrypted.txt -p known.txt -C encrypted.zip -P known.zip -d decrypted.zip成功后会输出decrypted.zip里面的内容就是解密后的结果。这个工具比较老编译和使用都有一点门槛但思路值得了解拿到压缩包时如果里面有个小文件你碰巧知道内容别急着爆破先用明文攻击试试可能会有奇效。4.3 CRC32碰撞破解小文件密码的另类思路CRC32是ZIP文件校验完整性的字段它只有32位空间很小。这个特性被出题人利用后变成了一种有趣的题型压缩包里有一个非常小的文件可能只有几个字节但你不知道密码同时这个文件本身有可能内容很短可以通过穷举CRC32的方式反推出文件内容。举例来说压缩包里有个flag.txt文件大小4字节内容是一个四位的数字或者单词。虽然整个文件被加密了但CRC32的值是明文存储的这是ZIP格式的一个特性。这时你可以生成所有可能的4字节内容分别计算它们的CRC32跟压缩包里存的CRC32比对匹配上了明文就出来了。在Python里可以用binascii.crc32来做碰撞import zipfile, binascii, itertools zf zipfile.ZipFile(flag.zip) for info in zf.infolist(): target_crc info.CRC print(f目标CRC32: {target_crc:08x}) # 用4字节数字空间碰撞 for i in range(10000): candidate f{i:04d}.encode() if binascii.crc32(candidate) 0xffffffff target_crc: print(明文内容:, candidate) break只要文件内容不长几个字节CRC32碰撞可以在秒级完成。这个方向尤其适合那种“文件特别小、内容是一个flag或几个数字”的题目。4.4 怎么判断该用哪种进阶套路实战中拿到压缩包后不要急着依次尝试所有方法而是先看几个关键特征特征优先尝试的方法压缩包能列出文件列表但解压要求密码先判断伪加密压缩包内有已知内容的小文件明文攻击压缩包内文件非常小几字节CRC32碰撞压缩包可以正常解压但里面有加密文件检查是否是多层压缩、套娃题前面全都不行老老实实回到字典和掩码爆破如果你用7z l -slt flag.zip查看文件信息时发现显示的加密字段异常或者直接解压时报错方式跟正常加密不太一样就非常值得先想一下是不是伪加密。反过来如果文件列表里有明显的readme.txt这种名字也可以顺手用明文攻击的思路试试。5. 常见坑位和排查指南踩过的坑不要再踩爆破压缩包看起来是流水线操作真正实操的时候坑位一个接一个。这里把我在比赛和练习中踩过的、见过的坑整理出来做成一份排查速查表碰到了直接对号入座。5.1 用zip2john提取hash失败zip2john提示无法解析文件常见原因有两种。一种是文件不是真正的ZIP格式可能是改后缀的伪ZIP比如把一张图片改成.zip扩展名或者把多个文件拼接在一起。另一种是ZIP的加密方式比较特殊zip2john的解析器没识别出来。排查方式用file flag.zip看文件的真实类型。如果显示JPEG image data那显然不是ZIP先得用binwalk分离出真正的ZIP文件。这种情况在CTF里太常见了很多“压缩包题”其实是文件分离题压缩包只是障眼法。5.2 爆破出了密码解压却报错这种情况十有八九是压缩包本身损坏或者你用的工具版本对某些ZIP扩展支持不好。更麻烦的是伪加密导致的假报错。如果确认工具输出的密码是正确跳出的fcrackzip开-u验证过的但解压还是报错可以用7z命令强制忽略错误解压7z x flag.zip -pPASSWORD7z对ZIP的兼容性比系统自带的解压工具好很多系统解压器跑不动的问题它都能扛住。万一7z还是不行再用zip -FF flag.zip --out recover.zip修复ZIP的损坏结构然后解压recover.zip。5.3 字典里明明有密码John却跑不出来这个坑基本都出在校验方式上。John默认会对字典词条做规则扩展但有时候它会跳过一些符号开头或特殊编码的词条。更常见的问题是rockyou字典解压后是UTF-8编码但终端默认不是UTF-8导致词条乱序或读取不完整。解决方法是先确认字典文件本身没有损坏rockyou.txt通常是一个压缩包解压出来大概13MB左右如果只有几KB那肯定是只解压了部分内容。另外可以在John后加--encodingutf8来指定编码。5.4 跑了好几个小时进度一直没动这种情况要么是掩码空间太大要么是CPU资源没吃满。掩码空间大需要回到信息收集环节找线索缩小范围资源吃不满可以在Linux下用htop看CPU占用如果全是单核在跑考虑加--fork8或者换hashcat。另外一个常见原因是你的候选密码长度设得太长。比如你以为密码是8位实际只有4位那你前几个小时都在跑1-4位的子集早就该出结果了。所以长度设置要基于常识判断不要盲目设一个很长的区间。5.5 密码找到了但解出的是一个二维码或图片CTF里经常会有套娃操作压缩包解开后不是直接给flag而是给一个图片、一个音频文件或者其他看起来不像flag的东西。这时候不要觉得题目有问题要做的是对刚解压出的文件再做一次信息收集——查看图片属性、用strings扫描隐藏字符、用steghide或binwalk检查是否有隐写内容。我曾经在练习中就遇到过一次爆破出密码解压后得到一个PNG图片图片打开是一张二维码扫出来是一串编码编码再解码才是flag。所以爆破只是第一步后面的路还长着。5.6 关于命令记忆的小建议命令记不住很正常不需要死记。要记的是思路信息收集 → 判断加密类型 → 选字典/掩码策略 → 跑工具 → 验证结果。每次做题都在这个链路里走命令用多了自然就记住了。给新手一个建议把这几个常用命令写在一个笔记文件里比如tools.md每次做题时打开对照。等做了二三十道题这些命令就会像肌肉记忆一样自然蹦出来。6. 把思路练成肌肉记忆压缩包密码爆破在CTF杂项里不算难但非常考验人的整体思路。与其说是在“破解”不如说是在跟出题人玩一场解谜游戏。密码藏在题目描述里藏在文件名里藏在注释里藏在看似不起眼的字节数据里唯一不变的规律就是答案一定存在只是需要你找到正确的打开方式。我个人的最大心得是不要迷信工具越到后面越能感受到看似最“暴力”的爆破题反而是最需要观察力的题。每次想直接开跑之前先问问自己三个问题——第一这个压缩包的加密方式是什么第二有没有哪里藏着密码提示第三如果我是出题人我会把密码设成什么回答完这三个问题你的爆破方向就会清晰很多。工具只是执行者思路才是真正的解题者。如果你把这篇文章里的流程完整跑通三遍压缩包爆破这种题型基本不会再成为你比赛中的拦路虎。后面再遇到类似题心态稳住先看再想后跑flag总会到手的。
返回列表