0

我们正在运行 OWSAP 的 ZAP 工具来检查我们应用程序中的安全漏洞。ZAP 工具报告了许多问题,例如路径遍历、跨站点脚本、操作系统命令注入。在这里,我不明白在我们的应用程序中执行 OS 命令时到底发生了什么。以下是我们项目中上传文件时报告的示例。

http://<<IpAddr>>:<<port>>/filedsMgr/upload/fileupload?/?fileSize=837259
%7Ctimeout+%2FT+%7B0%7D

在上面的 url 中,攻击是针对“filesize”参数执行的,攻击是“837259|timeout /T {0}”。根据OWSAP给出的描述,我知道这是ZAP工具执行的超时命令,但我不明白它与我的应用程序有什么关系。

谁能告诉我它到底是什么以及如何防止这种攻击?

4

1 回答 1

0

例如:您有带有方法 fileUpload 和绑定的 REST 控制器/file-upload/{fileSize}

代码:

@RequestMapping(value = "/file-upload/{fileSize}", method = RequestMethod.POST)
@ResponseBody
public Response fileUpload(@PathVariable int fileSize) {
    //...
}

如果某些恶棍会向您发送文件大小路径参数的附加数据,则此方法将引发异常。因为它将是无效的整数值:837259%7Ctimeout+%2FT+%7B0%7D

还推荐:

  1. 使用原则:不信任客户端

    • 什么是不允许的 -> 拒绝
    • 检查所有输入参数(尤其是字符串)
  2. 对所有外部通信使用超时

于 2016-03-17T08:29:00.323 回答