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

Can reading a file be as dangerous as executing it

在 Perl 中,如果允许将任何文件类型上传到服务器(而不是在 Web 根目录中)并随后下载,这会不会很危险?它不是这样执行的,而是作为二进制文件读取的。

我将重申@ThisSuitIsBlackNot 关于文件上传安全注意事项的链接...

这些可以归结为...

  • 对您的服务器的危险
    • 注入服务器将执行的特殊文件或文件扩展名。
      • .htaccess(每个目录的 Apache 配置文件)
      • .php、.asp、.cgi 等...
    • 在下载目录外注入系统文件。
      • /etc/passwd 或../../../../etc/passwd
    • 利用处理库中的缺陷
      • 图像调整大小
      • XML/JSON 正在解析
    • SQL注入攻击
      • 文件名
      • 文件元数据
    • Shell注入攻击
      • 文件名
    • 缓冲区溢出
      • 文件大小
      • HTTP 上传大小
      • 文件名大小
      • 目录深度
    • 填满磁盘拒绝服务
  • 对他人的危险
    • 网络钓鱼攻击
      • 上传恶意 .html 文件,使其看起来 URL 来自您的(受信任的)主机。
      • 上传恶意 .js 文件并从您域中的其他地方(可能是论坛 post)引用它以规避 XSS 攻击防御。
    • 将您的服务用作匿名攻击媒介
      • BOTnet 控制文件
      • 包括种子在内的盗版文件
      • 用于敲诈或骚扰目的的个人数据
      • Trojan/virus 个文件