本文是一个CTF解题报告,记录了针对“CSDN To PDF”在线服务漏洞的利用过程。核心漏洞在于服务对输入URL的校验不严格,仅检查是否包含“blog.csdn.net”字符串,而未验证完整域名。攻击者可构造形如“http://攻击者IP/blog.csdn.net/恶意页面”的URL绕过限制。该服务底层使用WeasyPrint库,该库会解析HTML中`link`标签指定的文件内容。因此,攻击者在自己服务器上托管包含`<link rel="attachment" href="file:///proc/1/environ">`的恶意HTML文件。当服务处理该URL时,会读取容器内的`/proc/1/environ`环境变量文件并将其嵌入生成的PDF。此外,文中指出服务会过滤“HTML”关键词,但可通过双写(如“htmlhtml”)绕过。最终从生成的PDF中提取出了flag。此案例揭示了URL校验不严与库特性结合导致的敏感信息读取风险。