Perl 读取文件和执行文件一样危险吗

Perl 读取文件和执行文件一样危险吗,perl,security,owasp,Perl,Security,Owasp,在Perl中,如果允许将任何文件类型上载到服务器(不在web根目录中)并随后下载,这会很危险吗?它不是以二进制方式执行的。我将重申@ThisSuitesBlacknot的文件上传安全注意事项链接 这是不完整的,但包括一些很好的例子 这些可以归结为 对服务器的危险 注入服务器将执行的特殊文件或文件扩展名。 .htaccess(每个目录Apache配置文件) .php、.asp、.cgi等 在下载目录外注入系统文件。 /etc/passwd或../../../../etc/pas

在Perl中,如果允许将任何文件类型上载到服务器(不在web根目录中)并随后下载,这会很危险吗?它不是以二进制方式执行的。

我将重申@ThisSuitesBlacknot的文件上传安全注意事项链接

  • 这是不完整的,但包括一些很好的例子
这些可以归结为

  • 对服务器的危险
    • 注入服务器将执行的特殊文件或文件扩展名。
      • .htaccess(每个目录Apache配置文件)
      • .php、.asp、.cgi等
    • 在下载目录外注入系统文件。
      • /etc/passwd或../../../../etc/passwd
    • 利用处理库中的缺陷
      • 图像大小调整
      • XML/JSON解析
    • SQL注入攻击
      • 文件名
      • 文件元数据
    • 炮弹注入攻击
      • 文件名
    • 缓冲区溢出
      • 文件大小
      • HTTP上载大小
      • 文件名大小
      • 目录深度
    • 通过填充磁盘来拒绝服务
  • 对他人的危险
    • 网络钓鱼攻击
      • 上载恶意的.html文件,使其显示URL来自您的(受信任的)主机
      • 上传一个恶意的.js文件,并从域中的其他地方(可能是论坛帖子)引用它,以规避XSS攻击防御
    • 使用你的服务作为匿名攻击向量
      • 僵尸网络控制文件
      • 包括洪流在内的盗版文件
      • 用于勒索或骚扰目的的个人数据
      • 特洛伊木马/病毒文件

当然可以!有关详细信息,请参见上的OWASP页、上的InfoSec页、上的CWE页和SAN建议。如果以任何方式解析数据(例如,如果您决定解析数据的XML扩展名),则您也可能容易受到解析器的攻击。处理可能插入到db中的文件名也是如此。我投票以主题外的方式结束这个问题,因为它属于安全stackexchange。简单版本:是的,因为您可能最终执行它而不打算这样做。它可能来自读取本身(缓冲区溢出),也可能来自您对读取内容所做的操作。@ianbeks读取文件是安全的(Unicode编码的人可能对此有一些补充),但一旦您读取了它,谁知道您将如何处理该数据呢。谁知道您将数据传递到的函数将如何处理它呢。这就是为什么尽管它的极端全球性使得它难以在生产中实施。