[Bug]年度最傻逼bug(提名)修复记录

论我是如何通过sylar高性能服务器框架学习记录:定时器模块这篇博客对自己发动XML注入攻击的

bug场景

正常来说我在本地用Typora写好文章之后只需要将文章复制到wordpress后台的文章发布界面,点击发布,然后就能在博客首页看到新发布的博客文章

但是今天我在推送sylar高性能服务器框架学习记录:定时器模块这篇博客之后,刷新博客首页,博客的前端渲染居然出错了,以下是场景复现:

image-20260207235600266

可以看到网页排版布局完全错乱,博客也没有完全加载,点击按钮后可以跳转到其他界面,但是错误渲染的黑框仍然存在并且其他组件都无法正常显示

尝试debug

这种情况以前也发生过,原因是我安装了Markup Markdown这款插件,它的作用是替换wordpress自带的文本编辑器(类似word)成Markdown编辑器,同时将博客页面里的Markdown进行渲染,而安装了这款插件之后是不能存在非Markdown语法写的博客的,否则就会渲染出错,我在博客网站搭建记录这篇博客里就记录过这个现象

但是所有博客都是用markdown语法编写的,为什么会这样呢

我突然想到今天早些时候折腾了一些博客文章目录的插件(最后没找到合适的,全禁用了),其中有的插件提供了wordpress短代码(简码)功能,这是一种类似标签的字符串,比如[toc]就是Table of Content插件提供的短代码,可以将其嵌入文章,组件或其他地方,网页加载的时候wordpress会把这些短代码解析成HTML,css以及js,是一种方便的页面编辑机制

有没有一种可能,我开启过这些插件,导致博客文章内容被嵌入了短代码,导致了markdown语法被污染?我觉得非常有可能,于是我就把所有的博客都删除,重新发布一遍,起初一切正常,渲染没有出错,博客一篇一篇被我发布,直到我再次发布sylar高性能服务器框架学习记录:定时器模块这篇博客后,bug又回来了,我直接红温

电棍otto - OTTOWiki 吉吉国的百科全书

我心想可能是我在重新发布的时候是直接复制前端界面的文字,带上了什么不干净的东西的原因,于是开了电脑用里面的.md源文件来复制,这次我先试了发布之前保证没有问题的文章,一切正常,随即我又发布了sylar高性能服务器框架学习记录:定时器模块这篇文章,然后bug就又来了

这给我整晕了,为什么偏偏就这篇文章不行呢,我开始上网搜索相关技术帖子试图找到问题的根源,网上都在说可能是php文件被插件修改了,于是我开始一个个排查插件,结果由于不会php,排查过程非常不顺利,bug也一直在,搞得我很烦,甚至已经准备打开B站速成php语法了

无语表情包 - 堆糖,美图壁纸兴趣社区

发现原因

就在我在绝望中休息的时候,我忽然想起今天写文章的时候typora出现了我没见过的高亮提示

image-20260208003124940

就是上图段落文字里的“尖括号包裹的void”,这个高亮形式我在typora里第一次见,写的时候没太在意,反正又不是报错就没理

现在这是我唯一认为可疑的问题点,于是我决定修改一下

image-20260208003526694

改成了这样,然后再次发布文章,bug就这样被修复了,给爷气笑了,还以为问题在代码,谁知道是文章内容的问题

随即我马上理解了这个“尖括号包裹的void”可能被解析为了一个xml标签,插件Markup Markdown的解析器就是被这个东西整崩溃了,原来不是不能存在用非markdown语法写的博客,是所有内容都不能包含任何非markdown的标记语言

原理

插件Markup Markdown和typora不同,前者是运行在wordpress上,把markdown语法转化为wordpress格式的xml,最后还是交给wordpress渲染,而wordpress不认识“尖括号包裹的void”这个xml标签,导致界面渲染出错;后者是直接渲染markdown,所以不会出问题,谢谢typora好心提供了语法高亮,不然真的想不到

这波属于是被C++模板语法,Markup Markdown插件和wordpress标记语言格式给联合起来坑了,自己对自己发动XML注入攻击了属于是,理解之后我真的力竭了

总结

这个bug的傻逼程度我愿意给它2026年度最傻逼bug的提名

评论

  1. 叶宇恒
    iPhone AppleWebKit 605.1.15
    2 月前
    2026-2-08 1:09:08

    逆天bug(?!强强!?)

    • 博主
      叶宇恒
      Linux Firefox 147.0
      2 月前
      2026-2-08 1:13:25

      逆天昵称

  2. sankkooos
    Android Chrome 142.0.7444.173
    2 月前
    2026-2-08 1:15:07

    ∑(;°Д°)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇