2016-05-22 4 views
1

内のBashスクリプトを実行します。これは非常にばかげた質問かもしれませんが、プログラムがPDFファイルに連結されていれば、何とか実行できますか?例えばは、私は最近、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 

これは別のファイル形式でも動作しますか?埋め込みコードはバイナリ実行ファイルである必要がありますか?

+0

これを使用して、ZIPのような**フッタ**ベースの形式でもPDFファイルを有効にできますが、ヘッダベースの形式では有効ではありません。基本的にすべての実行形式、スクリプトまたはさもないと。他のヘッダーと同様に、シバンはファイルの先頭にのみ認識されます。 –

+1

一般に、「この設計上の決定は悪用可能ですか?おそらく、SOよりも、おそらくhttp://security.stackexchange.com/の方がよいでしょう。 –

答えて

2

として(幸い)、それはあなたがそれを行うことができない、標準の一部ではありません。

残念ながら、標準ではarbitrary code with user confirmationを実行するために、「アクションの起動」をサポートしています。これらは現在、デフォルトで無効にされ、埋め込まれた球根を実行することはできませんが、有効な場合は、PDFに埋め込まれたコードを検索し、実行任意のコードを実行することを使用することができます。

サンドボックスexcecutesもsupports javascript標準、それ月サンドボックスをエスケープできリーダ特定のバグ。

関連する問題