如果应用程序旨在调用打开PDF文件并在文本文件或图像中生成某些信息的命令行实用程序,我想知道是否存在危险的安全/安全问题。
答案 0 :(得分:1)
是的,调用命令行实用程序会带来额外的安全问题:您的应用程序现在只能像命令行实用程序一样安全。
例如,如果实用程序中存在缓冲区溢出,则attacher可能可以通过您的应用程序利用它。
答案 1 :(得分:1)
想到OS命令注入。如果用户能够控制部分命令行(例如“AcroRd32.exe file.pdf”)如果攻击者可以控制文件的名称,那么你必须添加强大的白名单验证,以便“AcroRd32。 exe file.pdf&& format C:&& rem .pdf“不能注入例如
答案 2 :(得分:1)
似乎还没有人提到最明显的攻击。如果我知道你正在调用一个应用程序(例如)'c:\ program files \ acrord32.exe',那么我可以替换它 使用恶意软件可执行文件并等待某些内容来调用它。
尽管如此,如果我有权访问操作系统进行这样的更改,那么所有的赌注都会被取消。我可以轻松运行恶意软件,安装密钥记录器等等。
但是,如果系统受到相当的保护以防止更改并且您的用户正在远程使用此应用程序(例如Web应用程序?),那么您可以帮助保护这样的漏洞利用 通过使用可执行文件的已知且受信任的版本,并在使用之前生成/检查可执行文件的md5总和。这有助于确保程序未被修改/替换
答案 3 :(得分:0)
与此相关的主要安全漏洞:Path Manipulation。
答案 4 :(得分:0)
(其他海报都提出了PDF文件的有效安全问题)
PDF文件是众所周知的后门访问系统的载体。但是程序使用它在PDF文件中找到的指令读取实际攻击系统的文件。
因此,如果您使用AcroRd32.exe或任何其他已知不安全的.exe来“在文本文件或图像中产生一些信息”。然后你仍然允许执行PDF文件中的恶意代码。
如果您可以使用真正的文本解析系统来提取数据,那么就没有可以为恶意代码执行提供路径的机制。我知道有用于解析PDF文件中文本的perl语言的扩展,还有很多其他语言。
我希望这会有所帮助。