安全测试 - 恶意文件执行

开发人员经常直接使用或将潜在的易受攻击的输入与文件连接起来,或者假设输入文件是真实的。当数据没有得到正确检查时,这可能导致易受攻击的内容被 Web 服务器处理或调用。

示例

一些经典示例包括 −

  • 将 .jsp 文件上传到 Web 树。
  • 上传要调整大小的 .gif。
  • 上传大文件。
  • 上传包含标签的文件。
  • 将 .exe 文件上传到 Web。

动手操作

步骤 1 − 启动 WebGoat 并导航到恶意文件执行部分。场景的快照如下所示 −

malacious_file_execution

步骤 2 − 为了完成本课,我们需要将 guest.txt 上传到上述位置。

步骤 3 − 让我们创建一个 jsp 文件,以便在执行 jsp 时创建 guest.txt 文件。由于我们正在执行 jsp 文件的内容,因此 jsp 的命名在此上下文中不起作用。

<HTML>
    <% java.io.File file = new
        java.io.File("C:\Users\username$\.extract\webapps\WebGoat\mfe_target\guest.txt");
        file.createNewFile(); %>
</HTML>

步骤 4 − 现在上传 jsp 文件并在上传后复制其链接位置。上传需要图像,但我们上传的是 jsp。

malacious_file_execution1

步骤 5 − 通过导航到 jsp 文件,不会向用户显示任何消息。

步骤 6 −现在刷新您已上传 jsp 文件的会话,您将收到消息"* 恭喜。您已成功完成课程"。

malacious_file_execution2

预防机制

  • 使用网站权限保护网站。
  • 采取对策确保 Web 应用程序安全。
  • 了解 IIS 7.0 中的内置用户和组帐户。