<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>安全 on 知识带给我们自由</title>
    <link>https://yuexuan521.github.io/zh/tags/%E5%AE%89%E5%85%A8/</link>
    <description>Recent content in 安全 on 知识带给我们自由</description>
    <image>
      <title>知识带给我们自由</title>
      <url>https://yuexuan521.github.io/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://yuexuan521.github.io/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.160.1</generator>
    <language>en-us</language>
    <copyright>See this site&amp;rsquo;s source code here, licensed under GPLv3 ·</copyright>
    <lastBuildDate>Thu, 20 Nov 2025 09:01:00 +0000</lastBuildDate>
    <atom:link href="https://yuexuan521.github.io/zh/tags/%E5%AE%89%E5%85%A8/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>BUUCTF zip 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-zip-1/</link>
      <pubDate>Thu, 20 Nov 2025 09:01:00 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-zip-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190415529.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190415529.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190417993.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190417993.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h3 id=&#34;题目描述&#34;&gt;题目描述：&lt;/h3&gt;
&lt;p&gt;拼在一起解下base64就有flag 注意：得到的 flag 请包上 flag{} 提交&lt;/p&gt;
&lt;h3 id=&#34;密文&#34;&gt;密文：&lt;/h3&gt;
&lt;hr&gt;
&lt;h3 id=&#34;解题思路&#34;&gt;解题思路：&lt;/h3&gt;
&lt;p&gt;1、将下载的压缩包解压，得到68个小压缩包，压缩包内部文件4个字节，符合CRC32爆破条件&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190415529.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190415529.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190417993.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190417993.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>拼在一起解下base64就有flag 注意：得到的 flag 请包上 flag{} 提交</p>
<h3 id="密文">密文：</h3>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、将下载的压缩包解压，得到68个小压缩包，压缩包内部文件4个字节，符合CRC32爆破条件</p>
<blockquote>
<p>注意：一般数据内容小于5Bytes(&lt;=4Bytes)即可尝试通过爆破CRC32穷举数据内容</p>
</blockquote>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190419984.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190419984.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、使用CRC32爆破脚本尝试爆破第一个压缩包out0.zip，爆破成功得到文件内容 <code>z5Bz</code> ，根据题目提示，这是base64编码文件的一部分，需要将所有out*.zip压缩包的文件拼接才能拿到完整的文件

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190421759.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190421759.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>编写Python脚本进行自动化爆破，借鉴其他人的脚本</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1">#python3</span>
</span></span><span class="line"><span class="cl">import zipfile
</span></span><span class="line"><span class="cl">import string
</span></span><span class="line"><span class="cl">import binascii
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">def CrackCrc<span class="o">(</span>crc<span class="o">)</span>:
</span></span><span class="line"><span class="cl">	<span class="k">for</span> i in dic:
</span></span><span class="line"><span class="cl">		<span class="k">for</span> j in dic:
</span></span><span class="line"><span class="cl">			<span class="k">for</span> k in dic:
</span></span><span class="line"><span class="cl">				<span class="k">for</span> h in dic:
</span></span><span class="line"><span class="cl">					<span class="nv">s</span> <span class="o">=</span> i + j + k + h
</span></span><span class="line"><span class="cl">					<span class="k">if</span> <span class="nv">crc</span> <span class="o">==</span> <span class="o">(</span>binascii.crc32<span class="o">(</span>s.encode<span class="o">()))</span>:
</span></span><span class="line"><span class="cl">						f.write<span class="o">(</span>s<span class="o">)</span>
</span></span><span class="line"><span class="cl">						<span class="k">return</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">def CrackZip<span class="o">()</span>:
</span></span><span class="line"><span class="cl">	<span class="k">for</span> i in range<span class="o">(</span>0,68<span class="o">)</span>:
</span></span><span class="line"><span class="cl">		<span class="c1"># 压缩包文件路径</span>
</span></span><span class="line"><span class="cl">		<span class="nv">file</span> <span class="o">=</span> <span class="s1">&#39;out&#39;</span>+str<span class="o">(</span>i<span class="o">)</span>+<span class="s1">&#39;.zip&#39;</span>
</span></span><span class="line"><span class="cl">		<span class="nv">crc</span> <span class="o">=</span> zipfile.ZipFile<span class="o">(</span>file,<span class="s1">&#39;r&#39;</span><span class="o">)</span>.getinfo<span class="o">(</span><span class="s1">&#39;data.txt&#39;</span><span class="o">)</span>.CRC
</span></span><span class="line"><span class="cl">		CrackCrc<span class="o">(</span>crc<span class="o">)</span>
</span></span><span class="line"><span class="cl">		print<span class="o">(</span><span class="s1">&#39;\r&#39;</span>+<span class="s2">&#34;loading：{:%}&#34;</span>.format<span class="o">(</span>float<span class="o">((</span>i+1<span class="o">)</span>/68<span class="o">))</span>,end<span class="o">=</span><span class="s1">&#39;&#39;</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nv">dic</span> <span class="o">=</span> string.ascii_letters + string.digits + <span class="s1">&#39;+/=&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">f</span> <span class="o">=</span> open<span class="o">(</span><span class="s1">&#39;out.txt&#39;</span>,<span class="s1">&#39;w&#39;</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">print<span class="o">(</span><span class="s2">&#34;\nCRC32begin&#34;</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">CrackZip<span class="o">()</span>
</span></span><span class="line"><span class="cl">print<span class="o">(</span><span class="s2">&#34;CRC32finished&#34;</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">f.close<span class="o">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>运行脚本，得到out.txt文件</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">z5BzAAANAAAAAAAAAKo+egCAIwBJAAAAVAAAAAKGNKv+a2MdSR0zAwABAAAAQ01UCRUUy91BT5UkSNPoj5hFEVFBRvefHSBCfG0ruGnKnygsMyj8SBaZHxsYHY84LEZ24cXtZ01y3k1K1YJ0vpK9HwqUzb6u9z8igEr3dCCQLQAdAAAAHQAAAAJi0efVT2MdSR0wCAAgAAAAZmxhZy50eHQAsDRpZmZpeCB0aGUgZmlsZSBhbmQgZ2V0IHRoZSBmbGFnxD17AEAHAA<span class="o">==</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190423301.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190423301.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>3、使用在线工具进行解密，看到解出的明文中有如下提示信息：
<a href="https://the-x.cn/encodings/Base64.aspx"target="_blank" rel="noopener noreferrer">Base64 在线解码、编码</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">flag.txt
</span></span><span class="line"><span class="cl">fix the file and get the flag
</span></span></code></pre></td></tr></table>
</div>
</div><p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190424904.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190424904.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>提示我们修复这个文件，可以拿到flag。文件尾与RAR文件尾一致（ <code>C4 3D 7B 00 40 07 00</code> ），可以确定为rar压缩包，但缺少文件头，需要补上缺失的文件头。

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190426964.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190426964.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="m">52</span> <span class="m">61</span> <span class="m">72</span> <span class="m">21</span> 1A <span class="m">07</span> <span class="m">00</span>   <span class="c1"># RAR文件头</span>
</span></span><span class="line"><span class="cl">C4 3D 7B <span class="m">00</span> <span class="m">40</span> <span class="m">07</span> <span class="m">00</span>   <span class="c1"># RAR文件尾</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>用010 Editor打开，补上文件头，另存为.rar文件。

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190429011.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190429011.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>最后在rar压缩包的注释中找到flag。

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190430981.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190430981.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">flag<span class="o">{</span>nev3r_enc0de_t00_sm4ll_fil3_w1th_zip<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [DDCTF2018]流量分析 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-ddctf2018%E6%B5%81%E9%87%8F%E5%88%86%E6%9E%90-1/</link>
      <pubDate>Tue, 11 Nov 2025 15:24:51 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-ddctf2018%E6%B5%81%E9%87%8F%E5%88%86%E6%9E%90-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190910849.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190910849.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190912872.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190912872.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h3 id=&#34;题目描述&#34;&gt;题目描述：&lt;/h3&gt;
&lt;p&gt;得到的 flag 请包上 flag{} 提交。&lt;/p&gt;
&lt;h3 id=&#34;密文&#34;&gt;密文：&lt;/h3&gt;
&lt;p&gt;下载附件解压，得到流量分析.pcap和流量分析.txt&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190914452.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190914452.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;解题思路&#34;&gt;解题思路：&lt;/h3&gt;
&lt;p&gt;1、先看流量分析.txt，看hint二去pcap包里找 &lt;code&gt;“KEY”&lt;/code&gt; 。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190910849.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190910849.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190912872.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190912872.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>得到的 flag 请包上 flag{} 提交。</p>
<h3 id="密文">密文：</h3>
<p>下载附件解压，得到流量分析.pcap和流量分析.txt</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190914452.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190914452.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、先看流量分析.txt，看hint二去pcap包里找 <code>“KEY”</code> 。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">流量分析
</span></span><span class="line"><span class="cl">200pt
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">提示一：若感觉在中间某个容易出错的步骤，若有需要检验是否正确时，可以比较MD5: 90c490781f9c320cd1ba671fcb112d1c
</span></span><span class="line"><span class="cl">提示二：注意补齐私钥格式
</span></span><span class="line"><span class="cl">-----BEGIN RSA PRIVATE KEY-----
</span></span><span class="line"><span class="cl">XXXXXXX
</span></span><span class="line"><span class="cl">-----END RSA PRIVATE KEY-----
</span></span></code></pre></td></tr></table>
</div>
</div><p>搜索 <code>“KEY”</code> 。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">tcp contains <span class="s2">&#34;KEY&#34;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190916301.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190916301.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>追踪TCP流，找到一句话提到了密钥，最后大部分是一张图片的base64数据。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190918330.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190918330.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><a href="http://www.hiencode.com/quoted.html#:~:text=%E5%9C%A8%E7%BA%BFQuot"target="_blank" rel="noopener noreferrer">
Quoted-printable编码</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190919892.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190919892.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190921515.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190921515.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>保存下来，尝试base64解码，另存为png文件。</p>
<p><a href="https://the-x.cn/encodings/Base64.aspx"target="_blank" rel="noopener noreferrer">Base64 在线解码、编码</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190923478.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190923478.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>得到图片如下：</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190925805.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190925805.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、将图片转换为文本，校对一遍，注意不要出错，套上正确的SSL私钥格式，保存为txt文件。</p>
<p>ORC在线识别： <a href="https://www.onlineocr.net/zh_hant/"target="_blank" rel="noopener noreferrer">https://www.onlineocr.net/zh_hant/</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190928683.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190928683.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-----BEGIN RSA PRIVATE KEY-----
</span></span><span class="line"><span class="cl">MIICXAIBAAKBgQDCm6vZmclJrVH1AAyGuCuSSZ8O+mIQiOUQCvN0HYbj8153JfSQ
</span></span><span class="line"><span class="cl">LsJIhbRYS7+zZ1oXvPemWQDv/u/tzegt58q4ciNmcVnq1uKiygc6QOtvT7oiSTyO
</span></span><span class="line"><span class="cl">vMX/q5iE2iClYUIHZEKX3BjjNDxrYvLQzPyGD1EY2DZIO6T45FNKYC2VDwIDAQAB
</span></span><span class="line"><span class="cl">AoGAbtWUKUkx37lLfRq7B5sqjZVKdpBZe4tL0jg6cX5Djd3Uhk1inR9UXVNw4/y4
</span></span><span class="line"><span class="cl">QGfzYqOn8+Cq7QSoBysHOeXSiPztW2cL09ktPgSlfTQyN6ELNGuiUOYnaTWYZpp/
</span></span><span class="line"><span class="cl">QbRcZ/eHBulVQLlk5M6RVs9BLI9X08RAl7EcwumiRfWas6kCQQDvqC0dxl2wIjwN
</span></span><span class="line"><span class="cl">czILcoWLig2c2u71Nev9DrWjWHU8eHDuzCJWvOUAHIrkexddWEK2VHd+F13GBCOQ
</span></span><span class="line"><span class="cl">ZCM4prBjAkEAz+ENahsEjBE4+7H1HdIaw0+goe/45d6A2ewO/lYH6dDZTAzTW9z9
</span></span><span class="line"><span class="cl">kzV8uz+Mmo5163/JtvwYQcKF39DJGGtqZQJBAKa18XR16fQ9TFL64EQwTQ+tYBzN
</span></span><span class="line"><span class="cl">+04eTWQCmH3haeQ/0Cd9XyHBUveJ42Be8/jeDcIx7dGLxZKajHbEAfBFnAsCQGq1
</span></span><span class="line"><span class="cl">AnbJ4Z6opJCGu+UP2c8SC8m0bhZJDelPRC8IKE28eB6SotgP61ZqaVmQ+HLJ1/wH
</span></span><span class="line"><span class="cl">/5pfc3AmEyRdfyx6zwUCQCAH4SLJv/kprRz1a1gx8FR5tj4NeHEFFNEgq1gmiwmH
</span></span><span class="line"><span class="cl">2STT5qZWzQFz8NRe+/otNOHBR2Xk4e8IS+ehIJ3TvyE<span class="o">=</span>
</span></span><span class="line"><span class="cl">-----END RSA PRIVATE KEY-----
</span></span></code></pre></td></tr></table>
</div>
</div><p>3、给Wireshark添加上TLS密钥，就可以查看到HTTP的内容。</p>
<p>选择“ <code>首选项</code> ”</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190930589.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190930589.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>选择“ <code>TLS</code> ”，选择TLS密钥文件位置。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190933003.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190933003.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>最后，过滤HTTP流量，追踪HTTP流，得到flag。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190935025.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190935025.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190937066.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190937066.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">DDCTF<span class="o">{</span>0ca2d8642f90e10efd9092cd6a2831c0<span class="o">}</span>
</span></span><span class="line"><span class="cl">flag<span class="o">{</span>0ca2d8642f90e10efd9092cd6a2831c0<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF Rabbit 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-rabbit-1/</link>
      <pubDate>Tue, 21 Oct 2025 13:21:08 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-rabbit-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204852897.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204852897.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204855410.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204855410.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h3 id=&#34;题目描述&#34;&gt;题目描述：&lt;/h3&gt;
&lt;p&gt;注意：得到的 flag 请包上 flag{} 提交&lt;/p&gt;
&lt;h3 id=&#34;密文&#34;&gt;密文：&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;解题思路&#34;&gt;解题思路：&lt;/h3&gt;
&lt;p&gt;1、根据题目直接得到编码方式，Rabbit编码，使用在线工具进行解密。
&lt;a href=&#34;http://www.jsons.cn/rabbitencrypt/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Rabbit在线工具&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204852897.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204852897.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204855410.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204855410.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>注意：得到的 flag 请包上 flag{} 提交</p>
<h3 id="密文">密文：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="解题思路">解题思路：</h3>
<p>1、根据题目直接得到编码方式，Rabbit编码，使用在线工具进行解密。
<a href="http://www.jsons.cn/rabbitencrypt/"target="_blank" rel="noopener noreferrer">Rabbit在线工具</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204856907.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228204856907.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、得到flag。</p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">Cute_Rabbit
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h3 id="rabbit加解密算法">Rabbit加解密算法：</h3>
<ol>
<li>
<p><strong>密钥 - 共享的绝密暗号</strong></p>
<ul>
<li>
<p>你和你朋友事先约定好一个绝密暗号，比如 <strong>“巧克力蛋糕真好吃”</strong> 。这个暗号就是 <strong>“密钥”</strong> 。</p>
</li>
<li>
<p><strong>在 Rabbit 算法里，密钥是一串 128 位的数字（比如 <code>2B7E1516...</code> ），长度固定，是加解密的根本，绝对不能泄露。</strong></p>
</li>
</ul>
</li>
<li>
<p><strong>初始化向量 - 本次通信的页码</strong></p>
<ul>
<li>
<p>为了更安全，你们决定每次通信都用密码本的不同页。于是你打电话告诉朋友：“今天我们用密码本的 <strong>第58页</strong> 开始。” 这个“第58页”就是 <strong>“初始化向量”</strong> 。</p>
</li>
<li>
<p><strong>在 Rabbit 算法里，IV 是一串 64 位的数字。它的作用是确保即使用同一个密钥加密两份相同的内容，也会得到完全不同的密文。就像用同一个密码本，但从不同页开始，写出的密码也不同。</strong></p>
</li>
</ul>
</li>
<li>
<p><strong>Rabbit 机器的工作 - 生成“密码流”</strong></p>
<ul>
<li>
<p>现在，你把密钥（“巧克力蛋糕真好吃”）和 IV（“第58页”）输入到一台叫做 <strong>Rabbit</strong> 的神奇机器里。</p>
</li>
<li>
<p>这台机器会轰隆隆地运转起来，内部有很多齿轮和计数器（这就是算法的内部状态），根据你给的“暗号”和“页码”，它开始疯狂地吐出一长串、完全随机、没有规律的 <strong>“密码流”</strong> 。</p>
</li>
<li>
<p>这个密码流就像： <code>X5j9!kLm@qR3tW#z...</code> （无穷无尽）。</p>
</li>
</ul>
</li>
<li>
<p><strong>加密 - 编写密码信</strong></p>
<ul>
<li>
<p>现在你开始写原始信件（ <strong>明文</strong> ）： <code>“明天下午三点公园见”</code></p>
</li>
<li>
<p>然后，你拿出 Rabbit 机器生成的“密码流”，将信上的每一个字和密码流上的每一个字符进行 <strong>“一对一混合”</strong> （在计算机里是做“异或”运算）。</p>
</li>
<li>
<p>混合后，你原本清晰的信件就变成了一堆毫无意义的乱码（ <strong>密文</strong> ）： <code>“敨晑佢歮湤歮”</code></p>
</li>
</ul>
</li>
<li>
<p><strong>解密 - 还原密码信</strong></p>
<ul>
<li>
<p>你的朋友收到了这堆乱码和你的电话通知（IV=“第58页”）。</p>
</li>
<li>
<p>他也有同样的 Rabbit 机器，并且知道你们的共享暗号（密钥=“巧克力蛋糕真好吃”）。</p>
</li>
<li>
<p>他把密钥和 IV 输入机器，机器会生成 <strong>一模一样</strong> 的“密码流”： <code>X5j9!kLm@qR3tW#z...</code></p>
</li>
<li>
<p>他再用这个密码流和乱码（密文）进行 <strong>完全相同的“混合”操作</strong> ，神奇的事情发生了，乱码又变回了清晰的原信： <code>“明天下午三点公园见”</code> 。</p>
</li>
</ul>
</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [SUCTF 2019]Game 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-suctf-2019game-1/</link>
      <pubDate>Mon, 13 Oct 2025 08:00:00 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-suctf-2019game-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191821473.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191821473.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191823927.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191823927.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h3 id=&#34;题目描述&#34;&gt;题目描述：&lt;/h3&gt;
&lt;p&gt;感谢菠萝吹雪师傅出题。&lt;/p&gt;
&lt;p&gt;flag 请替换 SUCTF{} 为 flag{} 后提交。&lt;/p&gt;
&lt;h3 id=&#34;密文&#34;&gt;密文：&lt;/h3&gt;
&lt;p&gt;下载附件，得到一张图片和一个网站源代码&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191825575.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191825575.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191828044.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191828044.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;解题思路&#34;&gt;解题思路：&lt;/h3&gt;
&lt;p&gt;1、在网站源代码index.html中，发现经过Base32加密后的密文： &lt;code&gt;ON2WG5DGPNUECSDBNBQV6RTBNMZV6RRRMFTX2===&lt;/code&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191821473.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191821473.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191823927.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191823927.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>感谢菠萝吹雪师傅出题。</p>
<p>flag 请替换 SUCTF{} 为 flag{} 后提交。</p>
<h3 id="密文">密文：</h3>
<p>下载附件，得到一张图片和一个网站源代码</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191825575.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191825575.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191828044.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191828044.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、在网站源代码index.html中，发现经过Base32加密后的密文： <code>ON2WG5DGPNUECSDBNBQV6RTBNMZV6RRRMFTX2===</code></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191829453.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191829453.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><a href="https://www.qqxiuzi.cn/bianma/base.php"target="_blank" rel="noopener noreferrer">Base32编码解码</a>
使用在线网站进行解密，得到假的flag： <code>suctf{hAHaha_Fak3_F1ag}</code></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191831117.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191831117.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、转过方向，看看那张图片。发现存在LSB隐写，密文为： <code>U2FsdGVkX1+zHjSBeYPtWQVSwXzcVFZLu6Qm0To/KeuHg8vKAxFrVQ==</code></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191832778.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191832778.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><a href="https://www.qqxiuzi.cn/bianma/base64.htm"target="_blank" rel="noopener noreferrer">Base64编码转换</a>
密文与Base64编码非常相似，并且Base64解码后头部是&quot;Salted&quot;，猜测加密方式为AES或3DES。（根据U2FsdGVkX1开头，也有同样效果）</p>
<blockquote>
<p><strong>3DES</strong> (Triple DES): PKCS#5 的早期实现通常使用 3DES 加密算法。当使用 3DES 时，加密的数据块可能会以 “Salted” 开头，后面跟着一个随机生成的盐值，用于派生密钥。
<strong>AES</strong> (Advanced Encryption Standard): 虽然 AES 通常不需要特定的前缀，但在某些实现中，如果使用 PKCS#5 或者类似的密码派生标准，也可能看到类似的前缀。</p>
</blockquote>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191834495.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191834495.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>3、加密方式是3DES，密钥为之前的假flag： <code>suctf{hAHaha_Fak3_F1ag}</code> ，解密得到flag
<a href="https://www.sojson.com/encrypt_triple_des.html"target="_blank" rel="noopener noreferrer">TripleDes加密/解密</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191836631.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191836631.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191838200.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191838200.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">suctf<span class="o">{</span>U_F0und_1t<span class="o">}</span>
</span></span><span class="line"><span class="cl">flag<span class="o">{</span>U_F0und_1t<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF USB 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-usb-1/</link>
      <pubDate>Mon, 06 Oct 2025 12:09:55 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-usb-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190257641.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190257641.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;
&lt;a href=&#34;https://www.freebuf.com/column/199854.html&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF解题技能之压缩包分析基础篇&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/mochu7777777/article/details/109632626&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;BUUCTF：USB&lt;/a&gt;
&lt;a href=&#34;https://www.cnblogs.com/Dreamerwd/p/15159027.html#:~:text=%E5%85%88%E6%8A%8A%E5%8E%8B%E7%BC%A9%E5%8C%85%E6%8F%90&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;(usb键盘隐写)buuctf:USB&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190257641.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190257641.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a>
<a href="https://www.freebuf.com/column/199854.html"target="_blank" rel="noopener noreferrer">CTF解题技能之压缩包分析基础篇</a>
<a href="https://blog.csdn.net/mochu7777777/article/details/109632626"target="_blank" rel="noopener noreferrer">BUUCTF：USB</a>
<a href="https://www.cnblogs.com/Dreamerwd/p/15159027.html#:~:text=%E5%85%88%E6%8A%8A%E5%8E%8B%E7%BC%A9%E5%8C%85%E6%8F%90"target="_blank" rel="noopener noreferrer">(usb键盘隐写)buuctf:USB</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190259617.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190259617.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>Do your konw usb?? 注意：得到的 flag 请包上 flag{} 提交</p>
<h3 id="密文">密文：</h3>
<p>下载附件解压，得到233.rar和key.ftm文件</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190300928.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190300928.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、解压233.rar，发现文件损坏，233.png没有解压出来，flag.txt文件中没有flag。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190302891.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190302891.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190304627.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190304627.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>用010Editor打开，提示文件的第三个块CRC报错，也就是233.rar的文件块。</p>
<blockquote>
<p>RAR是有四个文件块组成的，分别是分别是 <code>标记块</code> 、 <code>归档头部块</code> 、 <code>文件块</code> 、 <code>结束块</code> 。</p>
</blockquote>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190306232.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190306232.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>检查发现是文件块的HEAD_TYPE出错，原数值应为0x74，而非0x7A。修改后即可成功解压。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190308479.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190308479.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190310134.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190310134.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、解压已修改后的文件，得到233.png</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190311759.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190311759.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>使用StegSolve打开图片，在Blue plane 0通道发现一个二维码</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190315061.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190315061.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>扫描二维码得到疑似flag的密文： <code>ci{v3erf_0tygidv2_fc0}</code> ，猜测为维吉尼亚密码。但缺少key值（密钥），暂时无法解密</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190316521.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190316521.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>3、回过头，key.ftm中应该就有我们要的key值</p>
<blockquote>
<p><strong>FTM</strong> 是FamiTracker，用于生产任天堂（NES）系统的音乐的音频节目创建的音频跟踪器模块。 它包括短的音频样本和一系列包含旋律音符。</p>
</blockquote>
<p>在010 Editor中搜索“key”关键字，发现隐藏zip压缩包，内部有key.pcap</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190318757.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190318757.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>将zip的数据另存为一个单独的zip文件，解压得到key.pcap。（或者使用WinRAR直接打开key.ftm）</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190320539.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190320539.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>打开发现全部为USB的流量</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190321587.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190321587.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>使用隐写脚本USBUsbKeyboardDataHacker.py，得到内容 <code>aababacbbdbdccccdcdcdbbcccbcbbcbbaababaaaaaaaaaaaaaaaaaakey{xinan}</code> ，key值为 <code>xinan</code></p>
<p><a href="https://github.com/WangYihang/UsbKeyboardDataHacker"target="_blank" rel="noopener noreferrer">https://github.com/WangYihang/UsbKeyboardDataHacker
</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">python UsbKeyboardDataHacker.py /root/key.pcap
</span></span></code></pre></td></tr></table>
</div>
</div><p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190323953.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190323953.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>4、使用得到的key值，解密维吉尼亚密码，得到 <code>fa{i3eei_0llgvgn2_sc0}</code>
<a href="https://www.qqxiuzi.cn/bianma/weijiniyamima.php"target="_blank" rel="noopener noreferrer">维吉尼亚密码加密解密</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190326705.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190326705.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>猜测明文又经过栅栏加密，解密得到 <code>flag{vig3ne2e_is_c00l}</code>
<a href="https://www.qqxiuzi.cn/bianma/zhalanmima.php"target="_blank" rel="noopener noreferrer">栅栏密码加密解密</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190328258.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190328258.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">flag<span class="o">{</span>vig3ne2e_is_c00l<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [GUET-CTF2019]虚假的压缩包 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-guet-ctf2019%E8%99%9A%E5%81%87%E7%9A%84%E5%8E%8B%E7%BC%A9%E5%8C%85-1/</link>
      <pubDate>Mon, 29 Sep 2025 08:15:00 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-guet-ctf2019%E8%99%9A%E5%81%87%E7%9A%84%E5%8E%8B%E7%BC%A9%E5%8C%85-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191120443.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191120443.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/YueXuan_521/article/details/134055375&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;BUUCTF zip伪加密 1&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/Demonslzh/article/details/130738368&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;RSA加密原理详解，以及RSA中的数论基础&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/mochu7777777/article/details/105367979#:~:text=%5BGUET-&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;BUUCTF：[GUET-CTF2019]虚假的压缩包&lt;/a&gt;
&lt;a href=&#34;https://www.cnblogs.com/vuclw/p/15848284.html#:~:text=%E5%85%B6%E4%B8%AD%E7%9C%9F%E5%AE%9E%E7%9A%84%E5%8E%8B&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;BUUCTF:[GUET-CTF2019]虚假的压缩包&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/YueXuan_521/article/details/134352467?spm=1001.2014.3001.5502&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Misc | 相当于签到 第二届“奇安信”杯网络安全技能竞赛&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191120443.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191120443.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a>
<a href="https://blog.csdn.net/YueXuan_521/article/details/134055375"target="_blank" rel="noopener noreferrer">BUUCTF zip伪加密 1</a>
<a href="https://blog.csdn.net/Demonslzh/article/details/130738368"target="_blank" rel="noopener noreferrer">RSA加密原理详解，以及RSA中的数论基础</a>
<a href="https://blog.csdn.net/mochu7777777/article/details/105367979#:~:text=%5BGUET-"target="_blank" rel="noopener noreferrer">BUUCTF：[GUET-CTF2019]虚假的压缩包</a>
<a href="https://www.cnblogs.com/vuclw/p/15848284.html#:~:text=%E5%85%B6%E4%B8%AD%E7%9C%9F%E5%AE%9E%E7%9A%84%E5%8E%8B"target="_blank" rel="noopener noreferrer">BUUCTF:[GUET-CTF2019]虚假的压缩包</a>
<a href="https://blog.csdn.net/YueXuan_521/article/details/134352467?spm=1001.2014.3001.5502"target="_blank" rel="noopener noreferrer">Misc | 相当于签到 第二届“奇安信”杯网络安全技能竞赛</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191122980.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191122980.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>得到的 flag 请包上 flag{} 提交。</p>
<h3 id="密文">密文：</h3>
<p>下载附件解压，得到两个压缩包：虚假的压缩包.zip和真实的压缩包.zip</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191124567.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191124567.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、先处理虚假的压缩包.zip，因为真实的压缩包.zip需要密码。虚假的压缩包.zip使用了伪加密，搜索 <code>50 4B 01 02</code> ，将文件头的第9位和第10位改为0。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191125895.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191125895.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>解压得到Key.txt文件，内容如下：</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191127788.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191127788.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、猜测为RSA加密，解密脚本如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">gmpy2</span>
</span></span><span class="line"><span class="cl"><span class="s2">&#34;&#34;&#34;
</span></span></span><span class="line"><span class="cl"><span class="s2">gmpy2.mpz(n)#初始化一个大整数
</span></span></span><span class="line"><span class="cl"><span class="s2">gmpy2.mpfr(x)# 初始化一个高精度浮点数x
</span></span></span><span class="line"><span class="cl"><span class="s2">d = gmpy2.invert(e,n) # 求逆元，de = 1 mod n
</span></span></span><span class="line"><span class="cl"><span class="s2">C = gmpy2.powmod(M,e,n)# 幂取模，结果是 C = (M^e) mod n
</span></span></span><span class="line"><span class="cl"><span class="s2">gmpy2.is_prime(n) #素性检测
</span></span></span><span class="line"><span class="cl"><span class="s2">gmpy2.gcd(a,b)  #欧几里得算法，最大公约数
</span></span></span><span class="line"><span class="cl"><span class="s2">gmpy2.gcdext(a,b)  #扩展欧几里得算法
</span></span></span><span class="line"><span class="cl"><span class="s2">gmpy2.iroot(x,n) #x开n次根
</span></span></span><span class="line"><span class="cl"><span class="s2">&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl"><span class="n">p</span> <span class="o">=</span> <span class="n">gmpy2</span><span class="o">.</span><span class="n">mpz</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">q</span> <span class="o">=</span> <span class="n">gmpy2</span><span class="o">.</span><span class="n">mpz</span><span class="p">(</span><span class="mi">11</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">e</span> <span class="o">=</span> <span class="n">gmpy2</span><span class="o">.</span><span class="n">mpz</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">l</span> <span class="o">=</span> <span class="p">(</span><span class="n">p</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">q</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">d</span> <span class="o">=</span> <span class="n">gmpy2</span><span class="o">.</span><span class="n">invert</span><span class="p">(</span><span class="n">e</span><span class="p">,</span><span class="n">l</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">c</span> <span class="o">=</span> <span class="n">gmpy2</span><span class="o">.</span><span class="n">mpz</span><span class="p">(</span><span class="mi">26</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="n">n</span> <span class="o">=</span> <span class="n">p</span> <span class="o">*</span> <span class="n">q</span>
</span></span><span class="line"><span class="cl"><span class="n">ans</span> <span class="o">=</span> <span class="nb">pow</span><span class="p">(</span><span class="n">c</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="n">n</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">ans</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">来源</span><span class="p">:</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">blog</span><span class="o">.</span><span class="n">csdn</span><span class="o">.</span><span class="n">net</span><span class="o">/</span><span class="n">qq_24033605</span><span class="o">/</span><span class="n">article</span><span class="o">/</span><span class="n">details</span><span class="o">/</span><span class="mi">117158714</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>运行脚本，得到答案是 <code>5</code> 。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191129180.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191129180.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>3、解压真实的压缩包.zip，得到一张没卵用且会浪费你时间的图片.jpg和亦真亦假。</p>
<p>解压密码： <code>答案是5</code></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191130320.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191130320.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>使用TweakPNG打开jpg图片，发现提示jpg图片CRC不对，应该是被修改宽高啦。（另外该图片应为png文件，png文件头89 50 4E 47）</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191131706.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191131706.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191133343.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191133343.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>使用如下脚本，计算原文件宽高。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">os</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">binascii</span>
</span></span><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">struct</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="n">crcbp</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s2">&#34;1.png&#34;</span><span class="p">,</span> <span class="s2">&#34;rb&#34;</span><span class="p">)</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>    <span class="c1">#打开图片!!!</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2000</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">2000</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">data</span> <span class="o">=</span> <span class="n">crcbp</span><span class="p">[</span><span class="mi">12</span><span class="p">:</span><span class="mi">16</span><span class="p">]</span> <span class="o">+</span> \
</span></span><span class="line"><span class="cl">            <span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s1">&#39;&gt;i&#39;</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span><span class="o">+</span><span class="n">struct</span><span class="o">.</span><span class="n">pack</span><span class="p">(</span><span class="s1">&#39;&gt;i&#39;</span><span class="p">,</span> <span class="n">j</span><span class="p">)</span><span class="o">+</span><span class="n">crcbp</span><span class="p">[</span><span class="mi">24</span><span class="p">:</span><span class="mi">29</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="n">crc32</span> <span class="o">=</span> <span class="n">binascii</span><span class="o">.</span><span class="n">crc32</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="o">&amp;</span> <span class="mh">0xffffffff</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span><span class="p">(</span><span class="n">crc32</span> <span class="o">==</span> <span class="mh">0x1670BAE6</span><span class="p">):</span>    <span class="c1">#修改为图片当前CRC!!!</span>
</span></span><span class="line"><span class="cl">            <span class="nb">print</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;hex:&#39;</span><span class="p">,</span> <span class="nb">hex</span><span class="p">(</span><span class="n">i</span><span class="p">),</span> <span class="nb">hex</span><span class="p">(</span><span class="n">j</span><span class="p">))</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>得到图片的高应为 <code>242</code> ， <code>0xF2</code> 。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191135339.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191135339.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>修改图片高度如下</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191137129.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191137129.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>得到图片

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191139101.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191139101.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>4、根据上面图片的提示，我们将亦真亦假文件的数据 <code>异或5</code> ，python脚本如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="kn">import</span> <span class="nn">binascii</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 打开文件进行读取</span>
</span></span><span class="line"><span class="cl"><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f1</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">data</span> <span class="o">=</span> <span class="n">f1</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 初始化变量存储解密后的数据</span>
</span></span><span class="line"><span class="cl"><span class="n">flag_data</span> <span class="o">=</span> <span class="s2">&#34;&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 对每个字符进行异或操作</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">tmp</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="mi">16</span><span class="p">)</span> <span class="o">^</span> <span class="mi">5</span>
</span></span><span class="line"><span class="cl">    <span class="n">flag_data</span> <span class="o">+=</span> <span class="nb">hex</span><span class="p">(</span><span class="n">tmp</span><span class="p">)[</span><span class="mi">2</span><span class="p">:]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 将解密后的数据写入新文件</span>
</span></span><span class="line"><span class="cl"><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">&#39;./flag.doc&#39;</span><span class="p">,</span> <span class="s1">&#39;wb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f2</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="c1"># 使用 binascii.unhexlify 替代 decode(&#39;hex&#39;)</span>
</span></span><span class="line"><span class="cl">    <span class="n">f2</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">binascii</span><span class="o">.</span><span class="n">unhexlify</span><span class="p">(</span><span class="n">flag_data</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="s2">&#34;Decryption complete.&#34;</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>得到flag.doc文件，打开没有发现flag，全选改变字体颜色，得到flag。（word隐藏文字）</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191141092.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191141092.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">FLAG<span class="o">{</span>_th2_7ru8_2iP_<span class="o">}</span>   
</span></span><span class="line"><span class="cl">flag<span class="o">{</span>_th2_7ru8_2iP_<span class="o">}</span>   
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [ACTF新生赛2020]明文攻击 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-actf%E6%96%B0%E7%94%9F%E8%B5%9B2020%E6%98%8E%E6%96%87%E6%94%BB%E5%87%BB-1/</link>
      <pubDate>Mon, 08 Sep 2025 08:00:00 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-actf%E6%96%B0%E7%94%9F%E8%B5%9B2020%E6%98%8E%E6%96%87%E6%94%BB%E5%87%BB-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190618732.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190618732.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;
&lt;a href=&#34;https://peiqi.wgpsec.org/ctf/misc/%E5%8E%8B%E7%BC%A9%E5%8C%85%E7%A0%B4%E8%A7%A3/%E6%98%8E%E6%96%87%E6%94%BB%E5%87%BB.html&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;明文攻击&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/qq_46230755/article/details/112108707#:~:text=%5BACTF%E6%96%B0&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;BUUCTF：[ACTF新生赛2020]明文攻击&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/qq_52974719/article/details/117084427&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Zip明文攻击细节问题及解决方案&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190618732.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190618732.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a>
<a href="https://peiqi.wgpsec.org/ctf/misc/%E5%8E%8B%E7%BC%A9%E5%8C%85%E7%A0%B4%E8%A7%A3/%E6%98%8E%E6%96%87%E6%94%BB%E5%87%BB.html"target="_blank" rel="noopener noreferrer">明文攻击</a>
<a href="https://blog.csdn.net/qq_46230755/article/details/112108707#:~:text=%5BACTF%E6%96%B0"target="_blank" rel="noopener noreferrer">BUUCTF：[ACTF新生赛2020]明文攻击</a>
<a href="https://blog.csdn.net/qq_52974719/article/details/117084427"target="_blank" rel="noopener noreferrer">Zip明文攻击细节问题及解决方案</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190620679.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190620679.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>得到的 flag 请包上 flag{} 提交。</p>
<h3 id="密文">密文：</h3>
<p>下载附件解压，得到tmp文件夹，下有none.zip，最后得到</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190622314.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190622314.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190623424.jpeg">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190623424.jpeg" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、尝试解压res.zip，需要解压密码。看一下woo.jpg图片，发现数据中存在zip压缩包数据。（zip文件头：50 4B 03 04）</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190624826.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190624826.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>文件头存在缺失，补全文件头，另存为zip文件。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190626656.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190626656.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>解压1.zip压缩包，得到flag.txt文件。（不是flag）</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190629298.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190629298.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、两个压缩包的CRC值相同，结合题目“明文攻击”，可以使用包含flag.txt的1.zip压缩包，对res.zip进行明文攻击。</p>
<blockquote>
<p><strong>明文攻击</strong> 是一种存在特定场景下爆破手段，大致原理是当你不知道一个zip的密码，但是你有zip中的一个已知文件（文件大小要大于12Byte）或者已经通过其他手段知道zip加密文件中的某些内容时，因为同一个zip压缩包里的所有文件都是使用同一个加密密钥来加密的，所以可以用已知文件来找加密密钥，利用密钥来解锁其他加密文件。</p>
</blockquote>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190630346.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190630346.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190631734.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190631734.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>使用ARCHPR进行明文攻击，5、6分钟后点击“停止”</p>
<blockquote>
<p>需要注意的是，明文攻击并不需要你太多时间，最多也就5,6分钟（师傅们的总结），一旦超过这个时间或感觉可以了点停止即可。</p>
</blockquote>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190633480.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190633480.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>会弹出“加密密钥已成功恢复”提示框</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190635693.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190635693.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>点击取消，将无密码的文件另存下来</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190637817.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190637817.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>解压得到secret.txt文件，打开就是flag</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190640317.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190640317.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">ACTF<span class="o">{</span>3te9_nbb_ahh8<span class="o">}</span>
</span></span><span class="line"><span class="cl">flag<span class="o">{</span>3te9_nbb_ahh8<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [GXYCTF2019]佛系青年 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-gxyctf2019%E4%BD%9B%E7%B3%BB%E9%9D%92%E5%B9%B4-1/</link>
      <pubDate>Tue, 12 Aug 2025 00:15:46 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-gxyctf2019%E4%BD%9B%E7%B3%BB%E9%9D%92%E5%B9%B4-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191216628.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191216628.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191219294.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191219294.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h3 id=&#34;题目描述&#34;&gt;题目描述：&lt;/h3&gt;
&lt;p&gt;得到的 flag 请包上 flag{} 提交&lt;/p&gt;
&lt;h3 id=&#34;密文&#34;&gt;密文：&lt;/h3&gt;
&lt;p&gt;下载附件，解压得到ZIP压缩包。&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191221432.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191221432.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;解题思路&#34;&gt;解题思路：&lt;/h3&gt;
&lt;p&gt;1、压缩包内有一张png图片和一个txt文本，解压zip压缩包，解压出图片，但txt文本提示需要输入密码。

&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191222835.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191222835.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191216628.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191216628.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191219294.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191219294.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>得到的 flag 请包上 flag{} 提交</p>
<h3 id="密文">密文：</h3>
<p>下载附件，解压得到ZIP压缩包。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191221432.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191221432.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、压缩包内有一张png图片和一个txt文本，解压zip压缩包，解压出图片，但txt文本提示需要输入密码。

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191222835.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191222835.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>解压出的png图片</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191358437.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191358437.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191400614.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191400614.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>2、压缩包内有两个文件，而且已经解压出了一个文件，我猜测为zip压缩包明文攻击，但后面没有成功解出密码。看过别人的题解之后，发现原来是zip伪加密。
通过010Editor修改压缩源文件数据区和目录区的全局方式位标记（下图红色标识），将伪压缩文件恢复到未加密的状态。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191402433.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191402433.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>保存文件，解压得到fo.txt文件。

<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191404239.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191404239.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">                                                                      _ooOoo_
</span></span><span class="line"><span class="cl">                                                                     o8888888o
</span></span><span class="line"><span class="cl">                                                                     88<span class="s2">&#34; . &#34;</span><span class="m">88</span>
</span></span><span class="line"><span class="cl">                                                                     <span class="o">(</span><span class="p">|</span> -_- <span class="p">|</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">                                                                      O<span class="se">\ </span><span class="o">=</span> /O
</span></span><span class="line"><span class="cl">                                                                  ____/<span class="sb">`</span>---<span class="s1">&#39;\____
</span></span></span><span class="line"><span class="cl"><span class="s1">                                                                .   &#39;</span> <span class="se">\\</span><span class="p">|</span> <span class="p">|</span>// <span class="sb">`</span>.
</span></span><span class="line"><span class="cl">                                                                 / <span class="se">\\</span><span class="o">||</span><span class="p">|</span> : <span class="o">||</span><span class="p">|</span>// <span class="se">\
</span></span></span><span class="line"><span class="cl">                                                               / _<span class="o">||||</span><span class="p">|</span> -:- <span class="o">||||</span><span class="p">|</span>- <span class="se">\
</span></span></span><span class="line"><span class="cl">                                                                 <span class="p">|</span> <span class="p">|</span> <span class="se">\\\ </span>- /// <span class="p">|</span> <span class="p">|</span>
</span></span><span class="line"><span class="cl">                                                               <span class="p">|</span> <span class="se">\_</span><span class="p">|</span> <span class="s1">&#39;&#39;</span><span class="se">\-</span>--/<span class="s1">&#39;&#39;</span> <span class="p">|</span> <span class="p">|</span>
</span></span><span class="line"><span class="cl">                                                                <span class="se">\ </span>.-<span class="se">\_</span>_ <span class="sb">`</span>-<span class="sb">`</span> ___/-. /
</span></span><span class="line"><span class="cl">                                                             ___<span class="sb">`</span>. .<span class="s1">&#39; /--.--\ `. . __
</span></span></span><span class="line"><span class="cl"><span class="s1">                                                          .&#34;&#34; &#39;</span>&lt; <span class="sb">`</span>.___<span class="se">\_</span>&lt;<span class="p">|</span>&gt;_/___.<span class="s1">&#39; &gt;&#39;</span><span class="s2">&#34;&#34;</span>.
</span></span><span class="line"><span class="cl">                                                         <span class="p">|</span> <span class="p">|</span> : <span class="sb">`</span>- <span class="se">\`</span>.<span class="p">;</span><span class="sb">`</span><span class="se">\ </span>_ /<span class="sb">`</span><span class="p">;</span>.<span class="sb">`</span>/ - <span class="sb">`</span> : <span class="p">|</span> <span class="p">|</span>
</span></span><span class="line"><span class="cl">                                                           <span class="se">\ \ </span><span class="sb">`</span>-. <span class="se">\_</span> __<span class="se">\ </span>/__ _/ .-<span class="sb">`</span> / /
</span></span><span class="line"><span class="cl">                                                   <span class="o">======</span><span class="sb">`</span>-.____<span class="sb">`</span>-.___<span class="se">\_</span>____/___.-<span class="sb">`</span>____.-<span class="s1">&#39;======
</span></span></span><span class="line"><span class="cl"><span class="s1">                                                                      `=---=&#39;</span>            
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">                                                   .............................................
</span></span><span class="line"><span class="cl">                                                          佛祖保佑             永无BUG
</span></span><span class="line"><span class="cl">                                                          写字楼里写字间，写字间里程序员；
</span></span><span class="line"><span class="cl">                                                          程序人员写程序，又拿程序换酒钱。
</span></span><span class="line"><span class="cl">                                                          酒醒只在网上坐，酒醉还来网下眠；
</span></span><span class="line"><span class="cl">                                                          酒醉酒醒日复日，网上网下年复年。
</span></span><span class="line"><span class="cl">                                                          但愿老死电脑间，不愿鞠躬老板前；
</span></span><span class="line"><span class="cl">                                                          奔驰宝马贵者趣，公交自行程序员。
</span></span><span class="line"><span class="cl">                                                          别人笑我忒疯癫，我笑自己命太贱；
</span></span><span class="line"><span class="cl">                                                          不见满街漂亮妹，哪个归得程序员？
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">佛曰：遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸
</span></span></code></pre></td></tr></table>
</div>
</div><p>3、打开fo.txt文件，如上图。判断文件底部的那一长串文字，为经过“与佛论禅”加密的密文，通过在线网站解密，得到flag。（这个文本真的爱了！）
<a href="https://ctf.bugku.com/tool/todousharp"target="_blank" rel="noopener noreferrer">与佛论禅密码</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">佛曰：遮等諳勝能礙皤藐哆娑梵迦侄羅哆迦梵者梵楞蘇涅侄室實真缽朋能。奢怛俱道怯都諳怖梵尼怯一罰心缽謹缽薩苦奢夢怯帝梵遠朋陀諳陀穆諳所呐知涅侄以薩怯想夷奢醯數羅怯諸
</span></span></code></pre></td></tr></table>
</div>
</div><p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191406093.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191406093.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>更正</strong>
在线网站已经无法使用，可以下载这个工具进行解码。
<a href="https://github.com/qianxiao996/CTF-Tools"target="_blank" rel="noopener noreferrer">https://github.com/qianxiao996/CTF-Tools</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191407660.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191407660.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">flag<span class="o">{</span>w0_fo_ci_Be1<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [DDCTF2018](╯°□°）╯︵ ┻━┻ 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-ddctf2018-1/</link>
      <pubDate>Mon, 11 Aug 2025 08:30:00 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-ddctf2018-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190907404.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190907404.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/mochu7777777/article/details/105324802#:~:text=DDCTF2&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;BUUCTF：[DDCTF2018](╯°□°）╯︵ ┻━┻&lt;/a&gt;
&lt;a href=&#34;https://www.cnblogs.com/fishjumpriver/p/17833337.html&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;[DDCTF2018](╯°□°）╯︵ ┻━┻&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190907404.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190907404.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a>
<a href="https://blog.csdn.net/mochu7777777/article/details/105324802#:~:text=DDCTF2"target="_blank" rel="noopener noreferrer">BUUCTF：[DDCTF2018](╯°□°）╯︵ ┻━┻</a>
<a href="https://www.cnblogs.com/fishjumpriver/p/17833337.html"target="_blank" rel="noopener noreferrer">[DDCTF2018](╯°□°）╯︵ ┻━┻</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190909389.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228190909389.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>得到的 flag 请包上 flag{} 提交。</p>
<h3 id="密文">密文：</h3>
<p>保存附件为attachment.txt</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="o">(</span>╯°□°）╯︵ ┻━┻
</span></span><span class="line"><span class="cl">50pt
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="o">(</span>╯°□°）╯︵ ┻━┻
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、观察密文，134个字符，猜测为十六进制的数据，先两位截取。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">hex列表：<span class="o">[</span><span class="s1">&#39;d4&#39;</span>, <span class="s1">&#39;e8&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;f4&#39;</span>, <span class="s1">&#39;a0&#39;</span>, <span class="s1">&#39;f7&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;f3&#39;</span>, <span class="s1">&#39;a0&#39;</span>, <span class="s1">&#39;e6&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;f3&#39;</span>, <span class="s1">&#39;f4&#39;</span>, <span class="s1">&#39;a1&#39;</span>, <span class="s1">&#39;a0&#39;</span>, <span class="s1">&#39;d4&#39;</span>, <span class="s1">&#39;e8&#39;</span>, <span class="s1">&#39;e5&#39;</span>, <span class="s1">&#39;a0&#39;</span>, <span class="s1">&#39;e6&#39;</span>, <span class="s1">&#39;ec&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;e7&#39;</span>, <span class="s1">&#39;a0&#39;</span>, <span class="s1">&#39;e9&#39;</span>, <span class="s1">&#39;f3&#39;</span>, <span class="s1">&#39;ba&#39;</span>, <span class="s1">&#39;a0&#39;</span>, <span class="s1">&#39;c4&#39;</span>, <span class="s1">&#39;c4&#39;</span>, <span class="s1">&#39;c3&#39;</span>, <span class="s1">&#39;d4&#39;</span>, <span class="s1">&#39;c6&#39;</span>, <span class="s1">&#39;fb&#39;</span>, <span class="s1">&#39;b9&#39;</span>, <span class="s1">&#39;b2&#39;</span>, <span class="s1">&#39;b2&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;e2&#39;</span>, <span class="s1">&#39;b9&#39;</span>, <span class="s1">&#39;b9&#39;</span>, <span class="s1">&#39;b7&#39;</span>, <span class="s1">&#39;b4&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;b4&#39;</span>, <span class="s1">&#39;b7&#39;</span>, <span class="s1">&#39;e3&#39;</span>, <span class="s1">&#39;e4&#39;</span>, <span class="s1">&#39;b3&#39;</span>, <span class="s1">&#39;b2&#39;</span>, <span class="s1">&#39;b2&#39;</span>, <span class="s1">&#39;e3&#39;</span>, <span class="s1">&#39;e6&#39;</span>, <span class="s1">&#39;b4&#39;</span>, <span class="s1">&#39;b3&#39;</span>, <span class="s1">&#39;e2&#39;</span>, <span class="s1">&#39;b5&#39;</span>, <span class="s1">&#39;b0&#39;</span>, <span class="s1">&#39;b6&#39;</span>, <span class="s1">&#39;b1&#39;</span>, <span class="s1">&#39;b0&#39;</span>, <span class="s1">&#39;e6&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;e5&#39;</span>, <span class="s1">&#39;e1&#39;</span>, <span class="s1">&#39;b5&#39;</span>, <span class="s1">&#39;fd&#39;</span><span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>将十六进制数据转换为十进制。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">十进制列表：<span class="o">[</span>212, 232, 225, 244, 160, 247, 225, 243, 160, 230, 225, 243, 244, 161, 160, 212, 232, 229, 160, 230, 236, 225, 231, 160, 233, 243, 186, 160, 196, 196, 195, 212, 198, 251, 185, 178, 178, 225, 226, 185, 185, 183, 180, 225, 180, 183, 227, 228, 179, 178, 178, 227, 230, 180, 179, 226, 181, 176, 182, 177, 176, 230, 225, 229, 225, 181, 253<span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>发现十进制数据都大于128，减去128，再转为字符串。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">-128得到ASCII十进制dec列表：<span class="o">[</span>84, 104, 97, 116, 32, 119, 97, 115, 32, 102, 97, 115, 116, 33, 32, 84, 104, 101, 32, 102, 108, 97, 103, 32, 105, 115, 58, 32, 68, 68, 67, 84, 70, 123, 57, 50, 50, 97, 98, 57, 57, 55, 52, 97, 52, 55, 99, 100, 51, 50, 50, 99, 102, 52, 51, 98, 53, 48, 54, 49, 48, 102, 97, 101, 97, 53, 125<span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>转为字符串，得到flag。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">最终答案：That was fast! The flag is: DDCTF<span class="o">{</span>922ab9974a47cd322cf43b50610faea5<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>解密脚本如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># @Author：YueXuan</span>
</span></span><span class="line"><span class="cl"><span class="c1"># @Date  ：2024/10/8 22:00</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">split_into_hex_pairs</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;将输入字符串切片成每两个字符一组的列表&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">[</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">:</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">s</span><span class="p">),</span> <span class="mi">2</span><span class="p">)]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">convert_hex_to_int</span><span class="p">(</span><span class="n">hex_pairs</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;将十六进制列表转换为十进制整数列表&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">pair</span><span class="p">,</span> <span class="mi">16</span><span class="p">)</span> <span class="k">for</span> <span class="n">pair</span> <span class="ow">in</span> <span class="n">hex_pairs</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">adjust_for_ascii</span><span class="p">(</span><span class="n">int_values</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;将整数列表中的值减去128以获取ASCII值&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="p">[</span><span class="n">value</span> <span class="o">-</span> <span class="mi">128</span> <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">int_values</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">convert_int_to_str</span><span class="p">(</span><span class="n">int_values</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;将整数列表转换为字符串&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="s1">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">chr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">int_values</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">hex_string</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;主函数，调用上述函数并打印结果&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;字符串长度：</span><span class="si">%s</span><span class="s2">&#34;</span> <span class="o">%</span> <span class="nb">len</span><span class="p">(</span><span class="n">hex_string</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">hex_pairs</span> <span class="o">=</span> <span class="n">split_into_hex_pairs</span><span class="p">(</span><span class="n">hex_string</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;hex列表：</span><span class="si">%s</span><span class="s2">&#34;</span> <span class="o">%</span> <span class="n">hex_pairs</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">int_values</span> <span class="o">=</span> <span class="n">convert_hex_to_int</span><span class="p">(</span><span class="n">hex_pairs</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;转化为十进制int列表：</span><span class="si">%s</span><span class="s2">&#34;</span> <span class="o">%</span> <span class="n">int_values</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">ascii_values</span> <span class="o">=</span> <span class="n">adjust_for_ascii</span><span class="p">(</span><span class="n">int_values</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;-128得到ASCII十进制dec列表：</span><span class="si">%s</span><span class="s2">&#34;</span> <span class="o">%</span> <span class="n">ascii_values</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="n">result_str</span> <span class="o">=</span> <span class="n">convert_int_to_str</span><span class="p">(</span><span class="n">ascii_values</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;最终答案：</span><span class="si">%s</span><span class="s1">&#39;</span> <span class="o">%</span> <span class="n">result_str</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">hex_str</span> <span class="o">=</span> <span class="s1">&#39;d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="n">main</span><span class="p">(</span><span class="n">hex_str</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<p>网上的其他脚本：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># -*- coding:utf-8 -*-</span>
</span></span><span class="line"><span class="cl"><span class="c1"># author: mochu7</span>
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">hex_str</span><span class="p">(</span><span class="nb">str</span><span class="p">):</span><span class="c1">#对字符串进行切片操作，每两位截取</span>
</span></span><span class="line"><span class="cl">    <span class="n">hex_str_list</span><span class="o">=</span><span class="p">[]</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="nb">str</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">hex_str</span><span class="o">=</span><span class="nb">str</span><span class="p">[</span><span class="n">i</span><span class="p">:</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="n">hex_str_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">hex_str</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;hex列表：</span><span class="si">%s</span><span class="se">\n</span><span class="s2">&#34;</span><span class="o">%</span><span class="n">hex_str_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="n">hex_to_str</span><span class="p">(</span><span class="n">hex_str_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">hex_to_str</span><span class="p">(</span><span class="n">hex_str_list</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">int_list</span><span class="o">=</span><span class="p">[]</span>
</span></span><span class="line"><span class="cl">    <span class="n">dec_list</span><span class="o">=</span><span class="p">[]</span>
</span></span><span class="line"><span class="cl">    <span class="n">flag</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">hex_str_list</span><span class="p">)):</span><span class="c1">#把16进制转化为10进制</span>
</span></span><span class="line"><span class="cl">        <span class="n">int_str</span><span class="o">=</span><span class="nb">int</span><span class="p">(</span><span class="s1">&#39;0x</span><span class="si">%s</span><span class="s1">&#39;</span><span class="o">%</span><span class="n">hex_str_list</span><span class="p">[</span><span class="n">i</span><span class="p">],</span><span class="mi">16</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">int_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">int_str</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">        <span class="n">dec_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">int_str</span><span class="o">-</span><span class="mi">128</span><span class="p">)</span><span class="c1">#-128得到正确的ascii码</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">dec_list</span><span class="p">)):</span><span class="c1">#ascii码转化为字符串</span>
</span></span><span class="line"><span class="cl">        <span class="n">flag</span> <span class="o">+=</span> <span class="nb">chr</span><span class="p">(</span><span class="n">dec_list</span><span class="p">[</span><span class="n">i</span><span class="p">])</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;转化为十进制int列表：</span><span class="si">%s</span><span class="se">\n</span><span class="s2">&#34;</span><span class="o">%</span><span class="n">int_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;-128得到ASCII十进制dec列表：</span><span class="si">%s</span><span class="se">\n</span><span class="s2">&#34;</span><span class="o">%</span><span class="n">dec_list</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;最终答案：</span><span class="si">%s</span><span class="s1">&#39;</span><span class="o">%</span><span class="n">flag</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="vm">__name__</span><span class="o">==</span><span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="nb">str</span><span class="o">=</span><span class="s1">&#39;d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;字符串长度：</span><span class="si">%s</span><span class="s2">&#34;</span><span class="o">%</span><span class="nb">len</span><span class="p">(</span><span class="nb">str</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">    <span class="n">hex_str</span><span class="p">(</span><span class="nb">str</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">key</span><span class="o">=</span><span class="s1">&#39;d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">hex</span><span class="o">=</span><span class="p">[]</span>
</span></span><span class="line"><span class="cl"><span class="n">flag</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="n">zdh</span><span class="o">=</span><span class="n">key</span><span class="p">[</span><span class="n">i</span><span class="p">:</span><span class="n">i</span><span class="o">+</span><span class="mi">2</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="nb">hex</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">zdh</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="nb">hex</span><span class="p">)):</span>
</span></span><span class="line"><span class="cl">    <span class="n">zdh1</span><span class="o">=</span><span class="nb">hex</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="n">flag</span><span class="o">+=</span><span class="nb">chr</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">zdh1</span><span class="p">,</span><span class="mi">16</span><span class="p">))</span><span class="o">-</span><span class="mi">128</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="nb">print</span><span class="p">(</span><span class="n">flag</span><span class="p">)</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">flag<span class="o">{</span>922ab9974a47cd322cf43b50610faea5<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>BUUCTF [MRCTF2020]Hello_ misc 1</title>
      <link>https://yuexuan521.github.io/zh/posts/buuctf-mrctf2020hello_-misc-1/</link>
      <pubDate>Mon, 04 Aug 2025 08:00:00 +0000</pubDate>
      <guid>https://yuexuan521.github.io/zh/posts/buuctf-mrctf2020hello_-misc-1/</guid>
      <description>&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191514677.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191514677.png&#34; 
             alt=&#34;&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BUUCTF: &lt;a href=&#34;https://buuoj.cn/challenges&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://buuoj.cn/challenges&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;相关阅读
&lt;a href=&#34;https://ctf-wiki.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;CTF Wiki&lt;/a&gt;
&lt;a href=&#34;https://www.tr0y.wang/2017/06/14/Base64steg/&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;神奇的 Base64 隐写&lt;/a&gt;
&lt;a href=&#34;https://blog.csdn.net/weixin_44377940/article/details/105206585&#34;target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;MRCTF复现&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
&lt;div class=&#34;post-img-view&#34;&gt;
    &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191516830.png&#34;&gt;
        &lt;img src=&#34;https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191516830.png&#34; 
             alt=&#34;在这里插入图片描述&#34; 
              
             loading=&#34;lazy&#34;
        /&gt;
    &lt;/a&gt;
&lt;/div&gt;&lt;/p&gt;
&lt;h3 id=&#34;题目描述&#34;&gt;题目描述：&lt;/h3&gt;
&lt;p&gt;得到的 flag 请包上 flag{} 提交。
感谢Galaxy师傅供题。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191514677.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191514677.png" 
             alt="" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p><strong>BUUCTF: <a href="https://buuoj.cn/challenges"target="_blank" rel="noopener noreferrer">https://buuoj.cn/challenges</a></strong></p>
<hr>
<p>相关阅读
<a href="https://ctf-wiki.org/"target="_blank" rel="noopener noreferrer">CTF Wiki</a>
<a href="https://www.tr0y.wang/2017/06/14/Base64steg/"target="_blank" rel="noopener noreferrer">神奇的 Base64 隐写</a>
<a href="https://blog.csdn.net/weixin_44377940/article/details/105206585"target="_blank" rel="noopener noreferrer">MRCTF复现</a></p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191516830.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191516830.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="题目描述">题目描述：</h3>
<p>得到的 flag 请包上 flag{} 提交。
感谢Galaxy师傅供题。</p>
<h3 id="密文">密文：</h3>
<p>下载附件解压，得到hello文件夹，两个文件</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191518410.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191518410.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<hr>
<h3 id="解题思路">解题思路：</h3>
<p>1、解压flag.rar需要密码，先处理try to restore it.png图片。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191520430.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191520430.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>盲猜LSB隐写，用StegSolve打开，在Red 0通道发现PNG图片数据。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191522008.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191522008.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>保存为png文件，得到：</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191523571.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191523571.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>得到zip-passwd密码，但不是flag.rar的密码。</p>
<p>2、用010Editor打开try to restore it.png图片，在文件尾找到 <code>PK</code> 文件头，提取出来保存为zip文件。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191525518.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191525518.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>使用刚得到的密码解压，得到out.txt，文件内容如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">  1
</span><span class="lnt">  2
</span><span class="lnt">  3
</span><span class="lnt">  4
</span><span class="lnt">  5
</span><span class="lnt">  6
</span><span class="lnt">  7
</span><span class="lnt">  8
</span><span class="lnt">  9
</span><span class="lnt"> 10
</span><span class="lnt"> 11
</span><span class="lnt"> 12
</span><span class="lnt"> 13
</span><span class="lnt"> 14
</span><span class="lnt"> 15
</span><span class="lnt"> 16
</span><span class="lnt"> 17
</span><span class="lnt"> 18
</span><span class="lnt"> 19
</span><span class="lnt"> 20
</span><span class="lnt"> 21
</span><span class="lnt"> 22
</span><span class="lnt"> 23
</span><span class="lnt"> 24
</span><span class="lnt"> 25
</span><span class="lnt"> 26
</span><span class="lnt"> 27
</span><span class="lnt"> 28
</span><span class="lnt"> 29
</span><span class="lnt"> 30
</span><span class="lnt"> 31
</span><span class="lnt"> 32
</span><span class="lnt"> 33
</span><span class="lnt"> 34
</span><span class="lnt"> 35
</span><span class="lnt"> 36
</span><span class="lnt"> 37
</span><span class="lnt"> 38
</span><span class="lnt"> 39
</span><span class="lnt"> 40
</span><span class="lnt"> 41
</span><span class="lnt"> 42
</span><span class="lnt"> 43
</span><span class="lnt"> 44
</span><span class="lnt"> 45
</span><span class="lnt"> 46
</span><span class="lnt"> 47
</span><span class="lnt"> 48
</span><span class="lnt"> 49
</span><span class="lnt"> 50
</span><span class="lnt"> 51
</span><span class="lnt"> 52
</span><span class="lnt"> 53
</span><span class="lnt"> 54
</span><span class="lnt"> 55
</span><span class="lnt"> 56
</span><span class="lnt"> 57
</span><span class="lnt"> 58
</span><span class="lnt"> 59
</span><span class="lnt"> 60
</span><span class="lnt"> 61
</span><span class="lnt"> 62
</span><span class="lnt"> 63
</span><span class="lnt"> 64
</span><span class="lnt"> 65
</span><span class="lnt"> 66
</span><span class="lnt"> 67
</span><span class="lnt"> 68
</span><span class="lnt"> 69
</span><span class="lnt"> 70
</span><span class="lnt"> 71
</span><span class="lnt"> 72
</span><span class="lnt"> 73
</span><span class="lnt"> 74
</span><span class="lnt"> 75
</span><span class="lnt"> 76
</span><span class="lnt"> 77
</span><span class="lnt"> 78
</span><span class="lnt"> 79
</span><span class="lnt"> 80
</span><span class="lnt"> 81
</span><span class="lnt"> 82
</span><span class="lnt"> 83
</span><span class="lnt"> 84
</span><span class="lnt"> 85
</span><span class="lnt"> 86
</span><span class="lnt"> 87
</span><span class="lnt"> 88
</span><span class="lnt"> 89
</span><span class="lnt"> 90
</span><span class="lnt"> 91
</span><span class="lnt"> 92
</span><span class="lnt"> 93
</span><span class="lnt"> 94
</span><span class="lnt"> 95
</span><span class="lnt"> 96
</span><span class="lnt"> 97
</span><span class="lnt"> 98
</span><span class="lnt"> 99
</span><span class="lnt">100
</span><span class="lnt">101
</span><span class="lnt">102
</span><span class="lnt">103
</span><span class="lnt">104
</span><span class="lnt">105
</span><span class="lnt">106
</span><span class="lnt">107
</span><span class="lnt">108
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">255</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">63</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">191</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span><span class="line"><span class="cl"><span class="m">127</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>一眼TTL隐写，解密脚本如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="c1"># @Author：YueXuan</span>
</span></span><span class="line"><span class="cl"><span class="c1"># @Date  ：2024/10/10 16:56</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">read_numbers_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;从文件中读取数字列表&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="s1">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">file</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">numbers</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">line</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span> <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">file</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">numbers</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">decode_ttl</span><span class="p">(</span><span class="n">numbers</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;解码数字列表为二进制字符串&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="n">binary_str</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="n">mapping</span> <span class="o">=</span> <span class="p">{</span><span class="mi">63</span><span class="p">:</span> <span class="s1">&#39;00&#39;</span><span class="p">,</span> <span class="mi">127</span><span class="p">:</span> <span class="s1">&#39;01&#39;</span><span class="p">,</span> <span class="mi">191</span><span class="p">:</span> <span class="s1">&#39;10&#39;</span><span class="p">,</span> <span class="mi">255</span><span class="p">:</span> <span class="s1">&#39;11&#39;</span><span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">number</span> <span class="ow">in</span> <span class="n">numbers</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">binary_str</span> <span class="o">+=</span> <span class="n">mapping</span><span class="p">[</span><span class="n">number</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">binary_str</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">binary_to_string</span><span class="p">(</span><span class="n">binary_str</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">    <span class="s2">&#34;&#34;&#34;将二进制字符串转换为ASCII字符串&#34;&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="n">text</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl">    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">binary_str</span><span class="p">),</span> <span class="mi">8</span><span class="p">):</span>
</span></span><span class="line"><span class="cl">        <span class="n">byte</span> <span class="o">=</span> <span class="n">binary_str</span><span class="p">[</span><span class="n">i</span><span class="p">:</span><span class="n">i</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">        <span class="n">text</span> <span class="o">+=</span> <span class="nb">chr</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">byte</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">text</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
</span></span><span class="line"><span class="cl">    <span class="n">filename</span> <span class="o">=</span> <span class="s1">&#39;out.txt&#39;</span>  <span class="c1"># 输入文件名</span>
</span></span><span class="line"><span class="cl">    <span class="n">output_filename</span> <span class="o">=</span> <span class="s1">&#39;output.txt&#39;</span>  <span class="c1"># 输出文件名</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 从文件读取数字</span>
</span></span><span class="line"><span class="cl">    <span class="n">numbers</span> <span class="o">=</span> <span class="n">read_numbers_from_file</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 解码数字为二进制字符串</span>
</span></span><span class="line"><span class="cl">    <span class="n">binary_str</span> <span class="o">=</span> <span class="n">decode_ttl</span><span class="p">(</span><span class="n">numbers</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 将二进制字符串转换为ASCII字符串</span>
</span></span><span class="line"><span class="cl">    <span class="n">hidden_text</span> <span class="o">=</span> <span class="n">binary_to_string</span><span class="p">(</span><span class="n">binary_str</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 输出结果</span>
</span></span><span class="line"><span class="cl">    <span class="nb">print</span><span class="p">(</span><span class="s2">&#34;隐藏的文本:&#34;</span><span class="p">,</span> <span class="n">hidden_text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">    <span class="c1"># 可选地保存到文件</span>
</span></span><span class="line"><span class="cl">    <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">output_filename</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">output_file</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">        <span class="n">output_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">hidden_text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">&#39;__main__&#39;</span><span class="p">:</span>
</span></span><span class="line"><span class="cl">    <span class="n">main</span><span class="p">()</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>解密得到 <code>rar-passwd:0ac1fe6b77be5dbe</code> ，rar压缩包的密码。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191527512.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191527512.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>3、用得到的密码解压flag.rar压缩包，得到flag文件夹下的fffflag.zip文件。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191528857.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191528857.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<p>然而它是一个doc文件，更改后缀打开。打开之后，全选内容更改字体颜色，得到一堆密文。（Where is the flag ?）</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191529916.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191529916.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="n">MTEwMTEwMTExMTExMTEwMDExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTEwMDAwMDAxMTExMTExMTExMDAxMTAx</span>
</span></span><span class="line"><span class="cl"><span class="n">MTEwMTEwMTEwMDAxMTAxMDExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTEwMTEwMDEx</span>
</span></span><span class="line"><span class="cl"><span class="n">MTEwMDAwMTAxMTEwMTExMDExMTEwMTExMTExMTAwMDExMTExMTExMTExMDAxMDAxMTAxMTEwMDAwMDExMTExMDAwMDExMTExMTEx</span>
</span></span><span class="line"><span class="cl"><span class="n">MTEwMTEwMTAwMDAxMTExMDExMTEwMTExMTExMDExMTAxMTExMTExMTEwMTEwMTEwMTAxMTExMTExMTAwMTEwMTExMTExMTExMTEx</span>
</span></span><span class="line"><span class="cl"><span class="n">MTEwMTEwMTAxMTExMTExMDExMTEwMTExMTAxMDExMTAxMTExMTExMTEwMTEwMTEwMTAxMTAxMTExMTAwMTEwMTExMTExMTExMTEx</span>
</span></span><span class="line"><span class="cl"><span class="n">MTEwMTEwMTAwMDAxMTAwMDAwMTEwMDAwMDAxMTAwMDExMTAwMDAwMTEwMTEwMTEwMTAxMTEwMDAwMDAxMTExMDAwMDExMTExMTEx</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>密文使用Base64隐写加密，使用下面的解密脚本进行解密</p>
<p><a href="https://github.com/jerrita/b64steg"target="_blank" rel="noopener noreferrer">Base64隐写加解密工具</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">python b64steg.py -f flag.txt -s output.txt
</span></span></code></pre></td></tr></table>
</div>
</div><p>得到</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191531572.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191531572.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="cl"><span class="mi">110110111111110011110111111111111111111111111111101110000001111111111001101</span>
</span></span><span class="line"><span class="cl"><span class="mi">110110110001101011110111111111111111111111111111111101111111111111110110011</span>
</span></span><span class="line"><span class="cl"><span class="mi">110000101110111011110111111100011111111111001001101110000011111000011111111</span>
</span></span><span class="line"><span class="cl"><span class="mi">110110100001111011110111111011101111111110110110101111111100110111111111111</span>
</span></span><span class="line"><span class="cl"><span class="mi">110110101111111011110111101011101111111110110110101101111100110111111111111</span>
</span></span><span class="line"><span class="cl"><span class="mi">110110100001100000110000001100011100000110110110101110000001111000011111111</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>4、全选数据，回到fffflag.doc文件中，粘贴进去。然后搜索“ <code>0</code> ”，见证奇迹的时刻，你得到了flag。</p>
<p>
<div class="post-img-view">
    <a data-fancybox="gallery" href="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191533487.png">
        <img src="https://cdn.jsdelivr.net/gh/yuexuan521/image/20251228191533487.png" 
             alt="在这里插入图片描述" 
              
             loading="lazy"
        />
    </a>
</div></p>
<h3 id="flag">flag：</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">flag<span class="o">{</span>He1Lo_mi5c~<span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
  </channel>
</rss>
