<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>AlF-ovo&apos;s Blog</title><description>记录 Pwn、CTF 与零散思考的小站。</description><link>https://alf-ovo.cn/</link><language>zh_CN</language><item><title>站点内容结构调整记录（2026-04-27）</title><link>https://alf-ovo.cn/notes/site-structure-update-2026-04-27/</link><guid isPermaLink="true">https://alf-ovo.cn/notes/site-structure-update-2026-04-27/</guid><description>记录这一轮围绕 Dashboard、System 面板、页面文案和全站动效做的继续整理。</description><pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这轮调整继续沿着“把模板感压下去，把自己的使用习惯提上来”这个方向往前推，主要动了四块：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;把 Dashboard 的欢迎区和最近更新继续改成更接近当前写作方式的样子，弱化说明味，增强入口感和个人风格。&lt;/li&gt;
&lt;li&gt;重做右下角的 &lt;code&gt;system&lt;/code&gt; 面板，把原来一整条很长的设置抽屉改成先选图标、再看具体控制的两级结构。&lt;/li&gt;
&lt;li&gt;去掉看板娘右上角的关闭按钮，把隐藏/显示能力并进 &lt;code&gt;system&lt;/code&gt;，让这一类界面控制都收敛到同一个地方。&lt;/li&gt;
&lt;li&gt;补友链、改 About 和友链页文案，并重新打开全站的淡出与浮现动画，让页面切换不再那么硬。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;和前一份记录相比，这次已经不是在整理内容模型本身，而是在继续修整“内容怎么被看见、怎么被操作”这一层。&lt;/p&gt;
&lt;p&gt;如果后面还继续改，优先保持三件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内容入口要尽量清楚，别让页面越堆越像控制面板杂物间。&lt;/li&gt;
&lt;li&gt;动效可以有，但要服务于阅读和切换，而不是喧宾夺主。&lt;/li&gt;
&lt;li&gt;文案继续收掉模板残留，慢慢统一成这个站自己该有的语气。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>ctfshow test_your_nc pwn4</title><link>https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn4/</link><guid isPermaLink="true">https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn4/</guid><description>记录 ctfshow test_your_nc 系列 pwn4 的分析与取 flag 过程。</description><pubDate>Thu, 23 Apr 2026 11:24:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn4/01-logic.png&quot; alt=&quot;程序逻辑&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn4/02-compare.png&quot; alt=&quot;关键比较&quot; /&gt;&lt;/p&gt;
&lt;p&gt;当 &lt;code&gt;s1 == s2&lt;/code&gt; 时会 getshell。&lt;code&gt;s1&lt;/code&gt; 是 &lt;code&gt;CTFshowPWN&lt;/code&gt;，&lt;code&gt;s2&lt;/code&gt; 是读取的用户输入，所以直接输入 &lt;code&gt;CTFshowPWN&lt;/code&gt; 即可获取 flag。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn4/03-flag.png&quot; alt=&quot;拿到 flag&quot; /&gt;&lt;/p&gt;
&lt;p&gt;flag：&lt;code&gt;ctfshow{1320fb82-5ff9-4a09-9e14-14334f603f04}&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>ctfshow test_your_nc pwn3</title><link>https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn3/</link><guid isPermaLink="true">https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn3/</guid><description>记录 ctfshow test_your_nc 系列 pwn3 的分析与取 flag 过程。</description><pubDate>Thu, 23 Apr 2026 11:23:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn3/01-main.png&quot; alt=&quot;程序逻辑&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn3/02-case.png&quot; alt=&quot;case 分析&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn3/03-choose-6.png&quot; alt=&quot;选择 6&quot; /&gt;&lt;/p&gt;
&lt;p&gt;看过逻辑后就能确定答案是 &lt;code&gt;case 6&lt;/code&gt;。&lt;br /&gt;
&lt;code&gt;nc&lt;/code&gt; 连入后选择 &lt;code&gt;6&lt;/code&gt;，直接拿 flag。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn3/04-flag.png&quot; alt=&quot;拿到 flag&quot; /&gt;&lt;/p&gt;
&lt;p&gt;flag：&lt;code&gt;ctfshow{7796c338-38ad-4107-8cf6-5cbb4ec232b5}&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>ctfshow test_your_nc pwn2</title><link>https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn2/</link><guid isPermaLink="true">https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn2/</guid><description>记录 ctfshow test_your_nc 系列 pwn2 的解题过程。</description><pubDate>Thu, 23 Apr 2026 11:22:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn2/01-landing.png&quot; alt=&quot;连接后的界面&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn2/02-shell.png&quot; alt=&quot;获得 shell&quot; /&gt;&lt;/p&gt;
&lt;p&gt;题目直接给了 shell，之后就是 &lt;code&gt;nc&lt;/code&gt; 连入，执行 &lt;code&gt;ls&lt;/code&gt; 和 &lt;code&gt;cat flag&lt;/code&gt; 即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn2/03-flag.png&quot; alt=&quot;拿到 flag&quot; /&gt;&lt;/p&gt;
&lt;p&gt;flag：&lt;code&gt;ctfshow{cd156ccc-1ae0-49ab-9850-75cd1fa7bb3f}&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>ctfshow test_your_nc pwn1</title><link>https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn1/</link><guid isPermaLink="true">https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn1/</guid><description>记录 ctfshow test_your_nc 系列 pwn1 的分析与取 flag 过程。</description><pubDate>Thu, 23 Apr 2026 11:21:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn1/01-checksec.png&quot; alt=&quot;程序信息&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn1/02-disasm.png&quot; alt=&quot;反汇编结果&quot; /&gt;&lt;/p&gt;
&lt;p&gt;反汇编看一眼就能知道，直接用 &lt;code&gt;nc&lt;/code&gt; 连上即可获得 flag。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn1/03-flag.png&quot; alt=&quot;拿到 flag&quot; /&gt;&lt;/p&gt;
&lt;p&gt;flag：&lt;code&gt;ctfshow{7badceb1-c0ce-4acd-b119-48b6cc2a8ab3}&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>ctfshow test_your_nc pwn0</title><link>https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn0/</link><guid isPermaLink="true">https://alf-ovo.cn/posts/ctfshow-test-your-nc-pwn0/</guid><description>记录 ctfshow test_your_nc 系列 pwn0 的连接与取 flag 过程。</description><pubDate>Thu, 23 Apr 2026 11:20:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn0/01-login.png&quot; alt=&quot;登录信息&quot; /&gt;&lt;/p&gt;
&lt;p&gt;先连题目环境：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ssh ctfshow@pwn.challenge.ctf.show -p28252
name: ctfshow
passwd: 123456
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;连接之后先观察交互逻辑。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn0/02-banner.png&quot; alt=&quot;启动界面&quot; /&gt;&lt;/p&gt;
&lt;p&gt;这里会先展示一段较长动画，等待约 3 秒后进入命令行。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn0/03-input.png&quot; alt=&quot;命令行环境&quot; /&gt;&lt;/p&gt;
&lt;p&gt;简单尝试后可以发现，这里仍然会执行输入的命令，但环境里存在一些限制。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn0/04-echo.png&quot; alt=&quot;回显测试&quot; /&gt;&lt;/p&gt;
&lt;p&gt;有些指令能正常回显，但 &lt;code&gt;ls&lt;/code&gt; 和 &lt;code&gt;/bin/sh&lt;/code&gt; 在当前目录下没有效果。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn0/05-ls-parent.png&quot; alt=&quot;切回上级目录&quot; /&gt;&lt;/p&gt;
&lt;p&gt;往回退一个目录后再 &lt;code&gt;ls&lt;/code&gt; 就成功了，说明问题不在于 &lt;code&gt;ls&lt;/code&gt; 被禁用，而是当前落点目录本身有限制。&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/attachments/ctfshow/test_your_nc/pwn0/06-flag.png&quot; alt=&quot;拿到 flag&quot; /&gt;&lt;/p&gt;
&lt;p&gt;flag：&lt;code&gt;ctfshow{10bbd8ff-5093-44f4-9ddb-024b4b3599c6}&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>自我剖析：记我遇到的第一个 Pwn 学习瓶颈</title><link>https://alf-ovo.cn/notes/zui-ji-zhao/</link><guid isPermaLink="true">https://alf-ovo.cn/notes/zui-ji-zhao/</guid><description>一次线上面试暴露出的 Pwn 学习瓶颈，以及我对学习方式的重新审视。</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;我第一次真正意识到自己遇到瓶颈，不是在平时做题的时候，而是在一次线上面试里。&lt;/p&gt;
&lt;p&gt;当时我嘴上说自己已经学到堆利用、UAF 之类的内容，但真正面对一道并不复杂的栈溢出题时，还是做不出来。那一刻我才发现，自己以为已经掌握的东西，其实并没有沉到能独立解决问题的程度。&lt;/p&gt;
&lt;h2&gt;我的问题出在哪&lt;/h2&gt;
&lt;p&gt;问题不只是“不会做题”，更是学习方式出了偏差。&lt;/p&gt;
&lt;p&gt;在 AI 和现成 WP 的辅助下，我逐渐养成了一种很危险的习惯：一旦卡住，就直接去看答案、去问模型，而不是先把题目本身真正吃透。久而久之，思考过程被外包了，剩下的只是“看懂了别人怎么做”，却不是“我自己能做出来”。&lt;/p&gt;
&lt;p&gt;这会带来一个错觉：好像学了很多，实际上真正能调用出来的东西并不多。一旦题目稍微拐一下弯，就会立刻暴露出来。&lt;/p&gt;
&lt;h2&gt;这段时间也并非毫无收获&lt;/h2&gt;
&lt;p&gt;虽然结果不理想，但也不能简单地说这段时间白学了。&lt;/p&gt;
&lt;p&gt;至少我已经开始理解 ELF 文件的组织方式，理解函数调用、栈帧、寄存器和程序运行时的一些基本结构，也对栈、堆这些原本很抽象的概念有了更具体的认识。这些东西不是没有价值，只是离“真正会用”还差一段距离。&lt;/p&gt;
&lt;h2&gt;接下来怎么学&lt;/h2&gt;
&lt;p&gt;我打算先把心态放正。&lt;/p&gt;
&lt;p&gt;与其急着往前追新的名词、新的利用手法，不如先承认自己还只是初学者，然后把最基础的部分重新过一遍。把 ret2text、ret2libc、栈溢出、格式化字符串这些内容重新做扎实，比继续追着更复杂的题型跑更重要。&lt;/p&gt;
&lt;p&gt;接下来要做的不是“看过更多 WP”，而是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多自己调试&lt;/li&gt;
&lt;li&gt;多自己写 exp&lt;/li&gt;
&lt;li&gt;多自己复盘题目的关键点&lt;/li&gt;
&lt;li&gt;卡住时先思考，再去看资料&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;结语&lt;/h2&gt;
&lt;p&gt;我并不是完全没有在前进，只是前进的方式出了问题。&lt;/p&gt;
&lt;p&gt;现在发现这个问题，还不算晚。后面把节奏放慢一点，把基础打牢一点，下次再遇到类似的题，我希望自己给出的不再是“我看过”，而是“我能做”。&lt;/p&gt;
</content:encoded></item><item><title>站点内容结构调整记录</title><link>https://alf-ovo.cn/notes/site-structure-update/</link><guid isPermaLink="true">https://alf-ovo.cn/notes/site-structure-update/</guid><description>记录这次博客把文章、笔记、分类路径和资源组织重新整理的原因。</description><pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这次调整主要做了三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;把 &lt;code&gt;posts&lt;/code&gt; 和 &lt;code&gt;notes&lt;/code&gt; 分开，让短内容不再混进长文流里。&lt;/li&gt;
&lt;li&gt;给内容模型补上 &lt;code&gt;categoryPath&lt;/code&gt; 和 &lt;code&gt;series&lt;/code&gt;，避免继续用单个字符串伪装层级分类。&lt;/li&gt;
&lt;li&gt;把新内容默认改成目录式结构，后面文章、图片和附件可以放在同一个 slug 目录里。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;后续如果继续扩站，优先保证两件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;内容结构要清楚，避免后面越写越乱。&lt;/li&gt;
&lt;li&gt;页面文案要像自己的站，而不是模板残留或 demo 文案。&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item></channel></rss>