在struts.xml中定义了一个crud-default包:
其中的action doUpload用于上传文件,跟踪其class文件com/ufida/icc/common/upload/StrutsFileUpload.java:
通过上面代码不难看出在创建文件时文件名targetFileName直接由filename得到,而白名单检测的是通过uploadContentType,这里只要将uploadContentType设定为.zip即可通过checkTypes()检查。最终通过控制filename进行目录跳转将文件保存到web目录。
下面以联通为例进行测试:
构造一个上传页面:

直接上传jsp文件:

访问上传成功后的地址:

受影响的站点很多,列几个:
上传包打了个码,相关HTML放到代码测试区了。