Spring MVC MultipartResolver特性-QP编码
今天看Spring的Multipart处理发现一段比较奇怪的代码:
奇怪的是Spring为什么会对“=?”、“?=”进行特殊处理?跟进后发现这玩意是QP编码,用来解决邮件内附件编码问题。Spring调用了java mail的api对文件上传的附件文件名称进行了QP编码。
既然已知Spring的这个特性,那么某些时候或许就可以通过对文件名称进行编码来绕过传统的waf、cdn的防御了。
利用Java mail库生成特殊的文件名:
上传进行编码后的文件:
Spring会做decode解析: