<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_25924971</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_25924971]]></copyright><item><title><![CDATA[【BUG Fix】Rancher 接入 OIDC 遭遇 502：一次由 Nginx 响应头缓冲区引发的认证故障]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/167494331</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/167494331</guid><author>qq_25924971</author><pubDate>Sat, 10 Oct 2026 21:45:00 +0800</pubDate><description><![CDATA[Rancher接入Casdoor OIDC时出现502错误，经排查发现根因是Nginx反向代理缓冲区过小，无法处理Rancher登录返回的较大响应头。尽管Casdoor认证流程正常，但中间层代理因缓冲区限制导致响应截断。通过开启Rancher Debug日志确认认证流程已进入后半段，最终定位到K8s Ingress Nginx配置问题，调整proxy_buffer_size等参数后故障解决。]]></description><category></category></item><item><title><![CDATA[【BUG Fix】Mac App Store 点了下载没反应？一次“僵死下载任务“的完整排查实录]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/164303638</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/164303638</guid><author>qq_25924971</author><pubDate>Wed, 02 Sep 2026 19:54:21 +0800</pubDate><description><![CDATA[Mac App Store 下载按钮点击后弹回云朵无进度，根因是本地下载队列数据库存有昨日卡死的安装任务，使新请求被判重复并被丢弃。清空 storeSystem.db 并重启相关守护进程即可恢复，不影响已购记录。]]></description><category></category></item><item><title><![CDATA[【DEBUG】一次 k3s 拉镜像失败的 DNS Debug：强制使用 Go Resolver 修复]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/162096201</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/162096201</guid><author>qq_25924971</author><pubDate>Thu, 18 Jun 2026 12:51:04 +0800</pubDate><description><![CDATA[摘要 本文记录了一次k3s拉取镜像失败的DNS问题排查过程。问题表现为k3s无法拉取cert-manager镜像，报错DNS查询失败。通过抓包分析发现，k3s/containerd默认使用cgo解析器时只发送AAAA查询，而IPv6查询返回SERVFAIL后未降级到IPv4。问题根源在于cgo/libc解析器与systemd-resolved的交互异常。最终解决方案是通过设置GODEBUG=netdns=go环境变量，强制k3s使用Go原生DNS解析器，从而同时查询A和AAAA记录，成功恢复了镜像拉取功能。]]></description><category></category></item><item><title><![CDATA[Vibe Coding 时代：普通程序员如何从 CRUD 搬砖工进化为 AI “总导演”]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/161591695</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/161591695</guid><author>qq_25924971</author><pubDate>Mon, 01 Jun 2026 13:51:22 +0800</pubDate><description><![CDATA[摘要： 在AI技术爆发的时代，"氛围编码"（Vibe Coding）正在改变软件开发模式，传统程序员面临认知过载危机。文章提出三大应对策略：1）通过"骨架图结构"和"规划与执行分离"等技术控制AI的熵增；2）利用AI自动配置工程工具和"事前剖析"方法获取专家经验；3）遵循三条实践原则：采用演进式架构、灵活使用JSONB字段、侧重黑盒接口测试。核心观点是程序员需从"写代码"转向"定义问题"的总导演角色，善用Git进行版本控制，通过清晰的边界划分和问题定义来驾驭AI生产力。]]></description><category></category></item><item><title><![CDATA[【网络基础知识】深入浅出互联网底层：从 BGP 协议、ASN 食物链到大厂的省钱暗战]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/161321993</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/161321993</guid><author>qq_25924971</author><pubDate>Fri, 22 May 2026 18:38:01 +0800</pubDate><description><![CDATA[你每天都在刷视频、敲代码、访问各种云端服务，但你是否想过，当你在终端输入一个 IP 地址，或者向远在全球另一端的服务器发送一个数据包时，底层的物理世界和商业社会究竟发生了什么？本文将带你一层层剥开互联网（Internet）被称为“网络的网络（Network of Networks）”的神秘面纱，从最基础的协议，聊到动辄几百万美元的商业博弈。]]></description><category></category></item><item><title><![CDATA[【前端基础知识】JavaScript 数组方法总结：从表格速查到分类详解]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/159940779</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/159940779</guid><author>qq_25924971</author><pubDate>Wed, 08 Apr 2026 08:59:51 +0800</pubDate><description><![CDATA[JavaScript数组方法是开发中常用的核心功能，本文系统总结了常见数组方法的使用技巧。通过总览表分类展示方法的作用、返回值和是否修改原数组，帮助开发者快速掌握。文章将数组方法分为遍历类、判断类、查找类、筛选转换类等9大类别，重点讲解了forEach、map、filter、reduce等高频方法的使用场景和区别，并配有代码示例和示意图。针对初学者常见混淆点，特别强调方法是否会修改原数组以及适用场景，为高效使用数组提供了清晰的指导思路。]]></description><category></category></item><item><title><![CDATA[【前端安全】Trusted Types 全维度技术指南：CSP 原生 DOM XSS 防御终极方案]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/159887700</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/159887700</guid><author>qq_25924971</author><pubDate>Mon, 06 Apr 2026 15:49:38 +0800</pubDate><description><![CDATA[摘要： Trusted Types 是 CSP Level 3 规范提供的浏览器原生安全方案，通过强制管控动态内容注入（如 HTML、脚本、URL 等），从根本上解决 DOM XSS 攻击。其核心在于将高危 DOM 操作（如 innerHTML、eval）与普通字符串隔离，要求开发者通过预定义的可信策略处理内容，否则浏览器直接拦截执行。 关键点： 强制安全：需配置 CSP 响应头（trusted-types 和 require-trusted-types-for）生效，覆盖 5 类高危操作（HTML、脚本、]]></description><category></category></item><item><title><![CDATA[【优快云使用技巧】1_批量将当前个人文章列表转Markdown列表]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157757717</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157757717</guid><author>qq_25924971</author><pubDate>Mon, 09 Feb 2026 09:00:00 +0800</pubDate><description><![CDATA[那必然是有的，我们可以通过浏览器DevTools，在控制台（Console）中执行JS代码，获取文章清单，并进行输出提取。打开后，可以不断下拉，将自己要获取到的文章列表全部加载出来。在页面中右键审查元素，或者直接F12打开开发者工具，选择控制台（Console）页面，执行如下代码即可将文章列表自动复制，在编写文章总结时，遇到一个问题，如何快速高效，且无失误的把之前所有文章标题+URL填写到新文章中，做一个合集。通常的办法是手动进行，复制粘贴，写Markdown，费时费力，还容易搞错。函数实现自己的自定义。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_完结篇]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157749950</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157749950</guid><author>qq_25924971</author><pubDate>Sun, 08 Feb 2026 09:00:00 +0800</pubDate><description><![CDATA[文章本质上是一次从 0 到进阶的 PWN 系统性实战总结，以栈溢出基础格式化字符串漏洞（泄露 + 写内存）Canary 机制的泄露、绕过、爆破GOT 覆写、劫持调试方法与 pwntools 实战技巧多个真实“踩坑点”的经验总结整体学习路线非常清晰：👉从“能溢出” → “能控 EIP/RIP” → “绕过防护” → “稳定 getshell”栈用于保存：局部变量saved EBP返回地址（EIP / RIP）不安全函数：getsread覆盖返回地址。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_14_覆写stack_chk_fail]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157739569</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157739569</guid><author>qq_25924971</author><pubDate>Sat, 07 Feb 2026 09:00:00 +0800</pubDate><description><![CDATA[在做本题时，相比较之前11中的格式刷字符串漏洞，其实简单了很多，毕竟我们无需泄露libc中地址信息，并且无PIE，那直接改即可。继续分析代码，发现存在printf格式化字符串漏洞，以及一个后门backdoor。题目地址：https://ctf.cssec.cc/games/25/challenges。此时仅有printf格式化字符串漏洞，那我们便只能利用格式化字符串进行内容写入。还是老规矩，确认一下栈上输出信息偏移，本题为64位程序，所以此处8个A。获取到偏移位数为6，我们再来验证一下，可见偏移没问题。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_13_爆破canary]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157739210</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157739210</guid><author>qq_25924971</author><pubDate>Fri, 06 Feb 2026 09:00:00 +0800</pubDate><description><![CDATA[本文介绍了一道CTF题目HappyNewYearCTF_13的解题思路。题目为32位程序，开启了Canary保护但未开启PIE。通过分析发现程序通过fork创建子进程，使得可以安全爆破Canary值而不会影响主进程。解题步骤包括：1) 通过动态调试确定Canary偏移为100字节；2) 编写EXP脚本逐字节爆破Canary；3) 构造ret2text利用获取flag。特别提醒在爆破时要注意字符编码问题，避免使用utf-8编码导致错误。最终成功利用爆破的Canary值和后门函数地址完成攻击。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_12_泄露canary]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157718979</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157718979</guid><author>qq_25924971</author><pubDate>Thu, 05 Feb 2026 09:00:00 +0800</pubDate><description><![CDATA[checksec可以发现，32位程序，开启了Canary，但好在没开PIE。，并且通过动态调试，也可以看到其位置，那接下来尝试fuzz一下，看下canary位置。因此，在构造 payload 时，必须在回填 canary 后额外补充 8 字节内容，才能正确覆盖 saved EBP 和返回地址。接下来我们开始gdb动态调试，来看下情况，现在printf部分下个断点，然后来查看一下canary内容。此时我们知道了canary的偏移地址，可以进行覆盖了，但是接下来仍需找到canary距离EIP的位置，]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_11_格式化字符串漏洞]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157698147</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157698147</guid><author>qq_25924971</author><pubDate>Wed, 04 Feb 2026 09:00:00 +0800</pubDate><description><![CDATA[系统讲解了在开启 PIE、Canary 和 Partial RELRO 的防护环境下，如何利用格式化字符串漏洞完成信息泄露与控制流劫持。文章从漏洞成因入手，逐步分析参数偏移的确定方法，通过泄露函数返回地址计算程序基址，并进一步定位 GOT 表项，成功泄露 libc 函数地址。在此基础上，结合 %hn 半字写入与 pwntools 的 fmtstr_payload 两种方式，实现对 printf@GOT 的劫持，将其替换为 system，最终执行 /bin/sh 获取 shell。]]></description><category></category></item><item><title><![CDATA[【PWN 】格式化字符串漏洞（Format String）总结]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157692786</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157692786</guid><author>qq_25924971</author><pubDate>Tue, 03 Feb 2026 15:32:02 +0800</pubDate><description><![CDATA[格式化字符串漏洞（Format String Vulnerability）是 PWN 题目中**出现频率极高、利用方式灵活**的一类漏洞。它既可以用于**信息泄露（leak）**，也可以实现**任意地址写（write-what-where）**，在合适条件下甚至可以**直接 RCE**。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_10_ret2shellcode]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157648469</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157648469</guid><author>qq_25924971</author><pubDate>Mon, 02 Feb 2026 13:07:24 +0800</pubDate><description><![CDATA[摘要：本题考察ROP攻击技术，通过分析二进制程序发现存在栈溢出漏洞。由于buf2具有可执行权限且地址已知(0x4040A0)，可利用该漏洞注入shellcode。解题思路是先使用cyclic确定溢出偏移为280字节，然后构造包含shellcode的payload，最终控制程序执行流跳转到buf2执行恶意代码。exp编写时需注意shellcode架构匹配问题。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_9_ret2syscall]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157621588</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157621588</guid><author>qq_25924971</author><pubDate>Sun, 01 Feb 2026 23:57:46 +0800</pubDate><description><![CDATA[通过模拟系统调用execve('/bin/sh', 0, 0)的过程来劫持程序执行流。题目是一个32位静态链接程序，存在gets函数导致的栈溢出漏洞，溢出点为112字节。由于没有system等危险函数，作者采用ret2syscall技术，利用ROP gadget构造execve系统调用参数，最终通过int 0x80指令执行系统调用获取shell。文中详细分析了syscall调用机制和ROP链构造过程，并比较了ret2syscall与ret2libc技术的适用场景。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_8_ret2csu]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157584845</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157584845</guid><author>qq_25924971</author><pubDate>Sat, 31 Jan 2026 17:22:20 +0800</pubDate><description><![CDATA[该题是一个ROP利用题目，通过ret2libc技术获取shell。首先分析程序发现无canary和PIE保护，存在136字节的溢出点。利用write@plt泄露write和read的GOT表地址，从而计算出libc基址。再通过libc中的偏移获取system和"/bin/sh"的真实地址。最后构造ROP链，调用system("/bin/sh")获取shell权限。解题过程涉及寄存器控制（RDI、RSI）、栈对齐以及多阶段payload构造。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_7_ret2libc]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157546450</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157546450</guid><author>qq_25924971</author><pubDate>Fri, 30 Jan 2026 13:17:36 +0800</pubDate><description><![CDATA[本文摘要（149字）： 这是一道ROP利用题目，通过泄露libc函数地址实现系统调用。题目二进制文件无PIE和canary保护，存在明显的read缓冲区溢出漏洞。解题思路分为三步：1) 利用GOT表泄露已解析函数地址计算libc基址；2) 根据基址定位system()和&quot;/bin/sh&quot;的真实地址；3) 构造ROP链劫持程序流。具体实现时通过write@plt和GOT表配合泄露函数地址，利用小端序特性处理6字节泄露值，再结合pop指令控制寄存器完成攻击链构造。文章详细分析了64位环境下地]]></description><category></category></item><item><title><![CDATA[【PWN】ret2text 中「该跳 func 还是 call func？」的困惑解析]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157440789</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157440789</guid><author>qq_25924971</author><pubDate>Thu, 29 Jan 2026 09:00:00 +0800</pubDate><description><![CDATA[摘要：32位ret2text/ret2libc攻击中，调用有参函数时需注意call指令的栈布局影响。研究发现，直接跳转至函数地址会导致异常，而跳转到call指令地址则能正常获取参数。这是因为call指令会先将返回地址压栈（push return_address + jmp func），改变了栈结构。正确栈布局应为：填充数据+目标函数地址+伪造返回地址+参数。在编写exp时应采用&quot;函数地址+返回地址+参数&quot;的栈布局方式，而非直接跳转至函数入口点。]]></description><category></category></item><item><title><![CDATA[【PWN】HappyNewYearCTF_6_ret2text_64位]]></title><link>https://blog.youkuaiyun.com/qq_25924971/article/details/157439794</link><guid>https://blog.youkuaiyun.com/qq_25924971/article/details/157439794</guid><author>qq_25924971</author><pubDate>Wed, 28 Jan 2026 09:00:00 +0800</pubDate><description><![CDATA[本文介绍了 **HappyNewYearCTF_6_ret2text_64位** 题目的解题与利用过程。题目未开启 Canary 和 PIE，存在栈缓冲区溢出，可直接覆盖返回地址。通过分析程序定位到 `system` 函数及 `/bin/sh` 字符串地址。由于 64 位程序参数通过寄存器传递，利用 ROP 技术控制 RDI 寄存器，借助 `pop rdi; ret` 指令完成参数设置，最终跳转至 `system` 执行，成功劫持程序执行流并获取 shell。
]]></description><category></category></item></channel></rss>