Security Testing 简明教程
Security Testing - Malicious File Execution
开发人员通常直接使用或将可能遭到破坏的输入与文件连接,或假设输入文件是真实的。如果数据没有经过正确检查,可能会导致 Web 服务器处理或调用遭到破坏的内容。
Example
以下是几个经典示例:
-
将 JSP 文件上传到 Web 树。
-
上传 GIF 文件以调整大小。
-
Upload huge files.
-
Upload file containing tags.
-
将 EXE 文件上传到 Web 树。
Hands ON
Step 1 - 启动 WebGoat 并导航至恶意文件执行部分。该场景的快照如下 -
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。
Step 5 − 通过导航到 jsp 文件,不会有任何信息发送给用户。
Step 6 − 现在,刷新上传 jsp 文件的会话,你会收到以下消息:“* 恭喜你。你已成功完成课程”。