类型: 安全缺陷

    微软公司的Excel或 Apache OpenOffice的Calc等电子表格都支持公式运算,如果攻击者控制了这类表格的数据,系统可能会导致任意命令执行或泄漏敏感信息。

    1. @RequestMapping(value = "/download/count.csv")
    2. public ResponseEntity<String> service(String username) {
    3. HttpHeaders responseHeaders = new HttpHeaders();
    4. responseHeaders.add("Content-Type", "application/csv; charset=utf-8");
    5. responseHeaders.add("Content-Disposition", "attachment;filename=count.csv");
    6. String data = getCSVDataForUserName(username);
    7. return new ResponseEntity<>(data, responseHeaders, HttpStatus.OK);
    8. }

    当data中被注入:=cmd|’/C calc.exe’!Z0时,当用户打开此电子表格, Windows中的计算器将在其系统上运行。