在 PDF 文件中执行 Bash 脚本

Execute Bash Script within a PDF File

我最近发现将文本连接到 PDF 文件的末尾不会更改 PDF 文件的属性。这可能是一个非常愚蠢的问题,但是如果一个程序被连接到 PDF 文件,它能以某种方式执行吗?

例如,打开此 PDF 文件会在主目录中创建一个文本文件,其中包含单词 "hello world"。

*pdf contents*...
trailer^M
<</Size 219/Root 186 0 R/Info 177 0     R/ID[<5990BFFB4DF3DB26CE6A92829BB5C41B>    <B35E036CA0E7BA4CBF39B3D74DCE4CAF>]/Prev 4494028 >>^M
startxref^M
4663747^M
%%EOF^M
#!/bin/bash
echo "hello world" > ~/hello.txt

这是否适用于不同的文件格式?嵌入式代码是否需要是二进制可执行文件?

因为(幸运的是)这不是标准的一部分,您不能那样做。

遗憾的是,标准支持"launch actions",执行arbitrary code with user confirmation。这些现在默认禁用并且不允许执行嵌入式灯泡,但如果启用,您可以使用它来执行任意代码,以查找和执行嵌入在 pdf 中的代码。

标准也 supports javascript 执行沙盒,但它是一个 reader 允许逃脱沙盒的特定错误。