#Often Misused:File Upload
问题说明:
jsp中type=file的输入框需要进行文件安全性校验
解决方案:
jsp页面中没有很好的检验方式,所以检验在后台校验,采用文件后缀名+文件头信息来判断文件类型。文件头信息验证可参考:http://blog.youkuaiyun.com/honwellhsueh/article/details/12913591
#Unreleased Resource:Sockets
问题说明:没有正确释放资源
解决方案:
涉及到Connection 相关操作,使用完毕后要正确释放资源。
#Mass Assigment:Insecure Binder Configuration
问题说明:
不安全的参数绑定配置,是指我们的controller中xxxMethod(User user) 未明确指定接口所需属性,而是把整个对象所有属性暴露出去。
解决方案:
接口中入参对象未明确指定接口所需属性,而是把整个对象所有属性暴露出去。接口入参如果是某个具体对象需要使用@RequestBody标签,不需要的属性可用@JsonIgnore注解,前端接口调用时需使用标准json格式传递参数。方案参考:https://stackoverflow.com/questions/46840174/what-is-the-solution-for-mass-assignment-insecure-binder-configuration-vulnerab
#Insecure Randomness
问题说明:
不安全的随机数,一般出现在js中使用到Math.random()
解决方案:如果基于插件封装的js不利于修改,要么更换插件,要么看下有没有更高版本的进行,实在不行只能找相关安全测试工程师是否可以不修改。-0 0
#Log Forging
问题说明:
伪造日志,指我们在用httpclient 或者restTemplate调用第三方接口时,习惯性的把response的信息直接就log.info(response.getXXX) ,可能会发生返回信息中会存在字符串“twenty-one%0a%0aINFO:+User+logged+out%3dbadguy”,则日志中
就会记录以下条目:
INFO:Failed to parse val=twenty-one
INFO:User logged out=badguy
对于接口回调函数返回信息需要记录到日志中时,先进行信息的解码,发生错误时自定义错误提示信息.具体参考:http://blog.youkuaiyun.com/acmman/article/details/62446022