安全测试 - 恶意文件执行

开发人员经常直接使用或连接潜在易受攻击的输入与文件或假设输入文件是真实的.如果未正确检查数据,则可能导致Web服务器处理或调用易受攻击的内容.

示例

部分经典示例包括

  • 将.jsp文件上传到网络树.

  • 上传.gif

  • 上传大文件.

  • 上传包含标签的文件.

  • 上传.exe文件进入网络树.

举手

第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中的内置用户和组帐户.