Security Testing 简明教程

Security Testing - Malicious File Execution

开发人员通常直接使用或将可能遭到破坏的输入与文件连接,或假设输入文件是真实的。如果数据没有经过正确检查,可能会导致 Web 服务器处理或调用遭到破坏的内容。

Example

以下是几个经典示例:

  1. 将 JSP 文件上传到 Web 树。

  2. 上传 GIF 文件以调整大小。

  3. Upload huge files.

  4. Upload file containing tags.

  5. 将 EXE 文件上传到 Web 树。

Hands ON

Step 1 - 启动 WebGoat 并导航至恶意文件执行部分。该场景的快照如下 -

malacious file execution

Step 2 − 为了完成该课程,我们需在上文所说的位置中上传 guest.txt。

Step 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>

Step 4 − 现在,上传 jsp 文件,并在上传后复制该文件的链接位置。上传时系统将接受一张图片,但我们上传的是 jsp。

malacious file execution1

Step 5 − 通过导航到 jsp 文件,不会有任何信息发送给用户。

Step 6 − 现在,刷新上传 jsp 文件的会话,你会收到以下消息:“* 恭喜你。你已成功完成课程”。

malacious file execution2

Preventive Mechanisms

  1. 使用网站权限保护网站。

  2. 针对 Web 应用程序安全性采取对策。

  3. 了解 IIS 7.0 中内置的用户和组帐户。