去年一个做在线文档平台的哥们半夜被运维叫起来。服务器 CPU 打到 100%,磁盘疯狂读写,查了半天发现有人在后台跑挖矿脚本。溯源之后找到入口——一个用户上传的 .docm 文件,里面有段恶意 VBA 宏。系统调用 Office 转 PDF 的时候,宏被执行了,服务端直接中招。 这事儿比 SQL 注入还吓人。注入你得找到注入点,宏病毒你只要把文件上传上去,别人帮你打开,你就进去了。 文件预览几乎是所有企业应用的标配——合同管理要预览 PDF、OA 系统要预览 Word、网盘要预览 Excel。但很少有人意识到,每次把用户上传的 Office 文件扔进转换引擎,都等于在服务器上双击了一个陌生人发给你的附件。 今天聊聊怎么用进程隔离的思路,把这个风险降到最低。 宏病毒是怎么在服务端生效的 很多人觉得"我服务端又没有 Office 软件,哪里来的宏?" 但实际上,现在主流的文件预览方案底层都绕不开文档转换引擎。LibreOffice、OnlyOffice、Apache POI——它们做的事情就是把 docx / xlsx / pptx 转成 PDF 或者 HTML,然后前端渲染。而这些引....
