【问题标题】:Security Issues with HTTP_RAW_POST_DATAHTTP_RAW_POST_DATA 的安全问题
【发布时间】:2012-05-28 19:41:15
【问题描述】:

我目前正在使用HTTP_RAW_POST_DATA 并将其保存到图像文件中。我需要注意任何可利用的安全问题吗?

【问题讨论】:

    标签: php security http


    【解决方案1】:

    安全隐患与任何其他文件上传机制相同。您可能有语义含义,因为 POST 正文可能不是原始数据,例如如果它是quoted-printable编码或压缩的。

    【讨论】:

      【解决方案2】:

      是的,如果我的 POST 身体看起来像......

      <?php
      
      rmdir(__DIR__ . '/../');
      

      ...我可以通过 URL 访问该文件(仅当您的图像扩展名设置为运行 PHP,不太可能但可能),或者您运行它(例如,不小心 include 它),您将有麻烦了。

      如果您想安全,请将文件存储在文档根目录之上,并使用图像处理库(如 GD)从字符串写入图像并保存该输出。如果它是一个恶意文件,你应该只得到一个垃圾输出的图像。

      【讨论】:

      • 我认为 图像 不会 eval() POST 正文。
      • 只有当文件被网络服务器解释为 PHP 脚本并实际传递给 PHP 解释器时,这才会是一个问题。但是,如果文件保存为 filename.php.jpg 并且 apache 配置为启用了 MultiViews 选项,则这是可能的。
      • 在apache配置正确的情况下,如何将图片作为php代码执行?另外:FGITW 多吗?
      • @RepWhoringPeeHaa 有一些开源软件通过诸如使用include 而不是readfile() 输出图像博客的PHP 文件之类的东西被入侵。你的最后一句话是什么意思?
      • @RepWhoringPeeHaa alex 是正确的 (+1),他所描述的被称为 LFI 漏洞hakipedia.com/index.php/Local_File_Inclusion。它们在 PHP 项目中非常常见。如果您的代码中有一个并且存在这种图像文件,攻击者可以将其作为 PHP 执行。就像安全领域的许多事情一样,当你让两个或更多不同的 vuls 一起聚会时,一切都会变得有趣。
      猜你喜欢
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 2012-07-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多